2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) ( 线性筛、DP、map映射 去重)

传送门

 

题目

H.Repeating Goldbachs

mapm; 映射 去重

 

题意:任何大于等于4的偶数都能由两个素数相加表示x=q+p ,然后x=q-p代替,直到x<4,求转换次数。

思路:线性筛 筛出2~1e6的所有素数,然后枚举模拟,记录次数

#include
using namespace std;
const int N=1e6+5;
bool mark[N];
int prim[N];
int cnt;
void initial()
{
    cnt=0;
    for (int i=2 ; i>x;
	int step=0;
	while(x>=4)
	{
		for(int i=0;i<=cnt;i++)
		{
			if(mark[x-prim[i]]==0)
			{
				x=x-2*prim[i];
				break;
			}
		}
		step++;
	}
	cout<

2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) ( 线性筛、DP、map映射 去重)_第1张图片

2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) ( 线性筛、DP、map映射 去重)_第2张图片

 

C-Contest Setting

题意:N个带难度的题目,选其中K个不同难度题目,求其选法

思路:DP dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*val[i] 

#include
using namespace std;
int val[1004];
long long int dp[1003][1003];
int num=0;
const int mod= 998244353;
int main()
{
	int n,k;
	cin>>n>>k;
	
	map mapp; 
	for(int i=0;i

 

 

 

 

你可能感兴趣的:(2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) ( 线性筛、DP、map映射 去重))