注:困难题暂不解答! 量力而行Q.Q
目录
【Day 1】 练习
【Day 1】三角回文数
【Day 2】小平方
【Day 2】超级质数
【Day 3】考勤刷卡
【Day 3】最大和
【Day 4】卡片
【Day 4】第几小
【Day 5】染色时间
【Day 5】单峰序列

#include
using namespace std;
int main()
{// 请在此输入您的代码cout << "ABC" <

#include
using namespace std;
int main(){int x= 0;for(int i=1; ; i++){x=x+i;if(x>20220514){int b=x;int a=0;//数转置 while(b!=0){a=a*10+b%10;b/=10;}if(a==x){cout<

#include
using namespace std;
int main(){int n;int cnt=0;cin>>n;for(int i=1; i

373

#include
using namespace std;
//is_prime
bool is_prime(int n){if(n<=1) return false;for(int i=2; i<=sqrt(n);i++){if(n%i==0) return false;}return true;
}
//核实
bool check(int n){string s=to_string(n);int i=s.size();for(int j=0; j

#include
using namespace std;int main(){int n;//刷卡条数cin>>n;int a[n];int e=0,b=0,c=0,d=0;int time;for(int i=0;i

#include
#include
#include
#include
//根本就不是dp
using namespace std;
const int N = 10010,inf=0x3f3f3f3f;
int n;
int a[N],f[N];
//质数的判断
bool is_prime(int x)
{for (int i = 2; i < x / i; ++ i )if (x % i == 0)return false;return true;
}
//遍历所有因子数
int d_prime(int x)
{for (int i = 2; i <= x; ++ i )if (x % i == 0 && is_prime(i))//为x的因子同时为质数,由每次于从2开始便得到最小因子return i;return 1;
}
int main() {cin>>n;for(int i=1;i<=n;i++) cin>>a[i];memset(f,-inf,sizeof(f));//初始化f[1]=a[1];for(int i=1;i<=n;i++){int j=d_prime(n-i);//从当前位置所能跳到的最远位置i——i+1到i+d_prime(n-i)for(int k=i+1;k<=i+j;k++){ //遍历所有的可能跳到的位置if(f[k] == -inf) f[k] = a[k] + f[i];//如果之前为经过,便直接f[i]+a[k];else f[k]=max(f[k],f[i]+a[k]);}}cout<

#include
using namespace std;
int main(){int n,k;cin>>n; //n位同学 for( k=1; k*(k-1)/2+k


