1. 程式人生 > >ACM-ICPC 2018 南京賽區網路預賽 題解(未完)

ACM-ICPC 2018 南京賽區網路預賽 題解(未完)

目錄

A.An Olympian Math Problem【簽到題】

傳送門

題意:

給你一個n

求S模n的值

題解:推規律

AC_code:

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
	int t;
	scanf("%d", &t);
	while(t--) {
		ll n;
		cin>>n;
		cout<<n-1<<endl;
	}
	return 0;
}

J.Sum【分解質因數+線性篩】

傳送門

題意:給你一個數n

f(n)為     定義a*b = n 且 a和b不為某個數的平方數的倍數   的對數         且a*b=n 與 b*a=n為兩對

求  f(1).....f (n)的和

題解:

唯一分解 x

f(x)就是2^k,其中k是x分解結果中次數為一的質因子個數。如果有某個次數大於等於3,f(x)==0;

如果每個數都去列舉一遍求會tle 所以通過線性篩改一下就不會tle了

AC_code:

#include<bits/stdc++.h>
using namespace std;
const int maxn = 20100000;
typedef long long ll;

int num = 0;
int vis[maxn], pri[maxn];
ll f[maxn], s[maxn];

void init() {
	for(int i = 0; i < maxn; i++) {
		f[i] = 1;
	}
	memset(vis, 0, sizeof(vis));
	memset(pri, 0, sizeof(pri));
	num = 0;
}

void getpri() {
	for(int i = 2; i < maxn; i++) {
		if(!vis[i]) {
			pri[++num] = i;
			f[i] = 2;
		}
		for(int j = 1; j <= num && pri[j] * i < maxn; j++) {
			vis[pri[j] * i] = 1;
			f[pri[j] * i] *= f[pri[j]] * f[i];
			if(i % pri[j] == 0) {
				f[pri[j] * i] /= 4;
				if(i % (pri[j] * pri[j]) == 0) {
					f[pri[j] * i] = 0;
				}
				break;
			}
		}
	}
}

void solve() {
	getpri();
	s[1] = 1;
	for(int i = 2; i < maxn; i++){
		s[i] = s[i-1] + f[i];
	}
	int t;
	cin>>t;
	while(t--) {
		int n;
		cin>>n;
		cout<<s[n]<<endl;
	}
}

int main() {
	init();
	solve();
	return 0;
}

相關推薦

ACM-ICPC 2018 南京賽區網路預賽 題解

目錄 A.An Olympian Math Problem【簽到題】 傳送門 題意: 給你一個n 求S模n的值 題解:推規律 AC_code: #include<bits/stdc++.h> #define ll long long

ACM-ICPC 2018 南京賽區網路預賽 AAn Olympian Math Problem

Alice, a student of grade 66, is thinking about an Olympian Math problem, but she feels so despair that she cries. And her classmate, Bob,

ACM-ICPC 2018 瀋陽賽區網路預賽Dk短路

傳送門 題面: One day in the jail, F·F invites Jolyne Kujo (JOJO in brief) to play tennis with her. However, Pucci the father somehow knows it

ACM-ICPC 2018 徐州賽區網路預賽G 單調佇列

傳送門 題面: There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xx , yy ) means the wave is a rectan

ACM-ICPC 2018 南京賽區網路預賽部分題解

5題順利進現場 A 簽到 思路:打表找規律即可 L 最短路 隊友秒過,聽說是BZOJ原題,改為有向圖 J 線性篩 / 分塊打表 ,ans=f(n)的字首和 線性篩:

ACM-ICPC 2018 南京賽區網路預賽ABCDEFGHIJKL所有題題解大全

新高一蒟蒻隊的第一次ACM…… 賽場上和隊友時間安排不太恰當……只過了9題,第10題差半個小時2333……/還是自己太弱了 賽後經過一段時間把所有題全部A掉了2333…… 題目完成表: wzy(juruo):ABI(AC),CJ(思路+最初程式碼) cy(dalao):EGL,C(

ACM-ICPC 2018 南京賽區網路預賽 J AC Challenge (狀壓dp)

題意 給你n道題,在你做第 i i {i}道題的時候有 p[j] p

AC Challenge [ ACM-ICPC 2018 南京賽區網路預賽 ] [dfs + 二進位制記憶化搜尋 ]

題意:有n個問題,做第i個問題得分是t*a[i]+bi, 但是做第i題之前還需要先做其他的一些題目….可以選擇不做完所有的題,問最後的最高得分. 思路:深搜就可以了,跟很多深搜的問題一樣,有很多重複的子問題,此題的記憶化很奇特用的二進位制類似狀壓的思想 AC co

ACM-ICPC 2018 南京賽區網路預賽 J.Sum [ 類打表 ]

A square-free integer is an integer which is indivisible by any square number except 11. For example, 6 = 2 \cdot 36=2⋅3 is square-free, but

ACM-ICPC 2018 南京賽區網路預賽 L. Magical Girl Hazedijkstra+分層最短路

思路來源 https://blog.csdn.net/zhangche0526/article/details/62881066 題意 給你n個城市,m條邊, 共有k次免費機會,可以將其中k條邊的權值變為0, 求點1到點n的最短路。 題解 (百度 分層圖最短路

#數論、分層最短路# ACM-ICPC 2018 南京賽區網路預賽

題目連結 An Olympian Math Problem Alice, a student of grade 66, is thinking about an Olympian Math problem, but she feels so despair that she c

ACM-ICPC 2018 南京賽區網路預賽 B. The writing on the wall暴力

題目連結:傳送門   題意:詢問你在一個n*m的矩陣中,有一些方塊被塗成了黑色,其他的方格為白色,讓你統計白方格形成的子矩陣的個數。   思路:比賽的時候沒有想去做,賽後補題的時候發現優美的暴力就能過,也有點遺憾。 觀看了大佬的部落格後~~~ 首先我們會求

ACM-ICPC 2018 南京賽區網路預賽 J. Sum篩法+分塊

題目連結:傳送門   題意:給你一個數字n,讓你求從1到n的每個數的乘數組合的個數,要求乘數滿足不能被平方數整除。   解決方法:比賽的時候想到用線性篩來先將不符合的數先標記出來,然後再去便利統計個數。一開始t了,後來改成分塊後因為程式碼寫挫wa了好多次,還是自己

ACM-ICPC 2018 南京賽區網路預賽

題意: 每個作業都有a和b,第i次做這個作業得到的分數為i*a+b。每個作業還可能會有前置作業。 問你最大分數是多少。可以不做。 POINT: 20個作業,可以狀壓。時間就是這個狀態1的

ACM-ICPC 2018 南京賽區網路預賽 C. GDY

題解 題目大意 n個人m張牌 從1號開始按順序每人直接取5張牌 題目保證每人都會有牌但不保證最後一個人的牌夠5張 類似於撲克牌大小關係2>1>13>12>…>4>3 從1開始出最小的牌 每次只能出一張 每次出牌只能出比上一

ACM-ICPC 2018 南京賽區網路預賽 J. Sum

A square-free integer is an integer which is indivisible by any square number except 11. For example, 6 = 2 \cdot 36=2⋅3 is square-free, b

ACM-ICPC 2018 焦作賽區網路預賽 題解

A #include<iostream> #include<cstdio> using namespace std; char s[30]; int main() { int t; cin>>t;

ACM-ICPC 2018 南京賽區網路預賽 L. Magical Girl Haze

There are NNN cities in the country, and MMM directional roads from uuu to v(1≤u,v≤n)v(1\le u, v\le n)v(1≤u,v≤n). Every road has a distanc

ACM-ICPC 2018 南京賽區網路預賽 I. Skr (迴文樹)

A number is skr, if and only if it's unchanged after being reversed. For example, "12321", "11" and "1" are skr numbers, but "123", "221"

ACM-ICPC 2018 南京賽區網路預賽-I:Skrmanacher+Hash

A number is skr, if and only if it’s unchanged after being reversed. For example, “12321”, “11” and “1” are skr numbers, but “123”,