打了个爽!今天打得很稳,基本没有罚时,相当优雅的一场
1001
考虑递推,发现答案和因子有关,再加上森林里只有一棵树的情况 ( i个节点构成的树的种数为f[i-1] )
#include<bits/stdc++.h> using namespace std; const int N=1e6,mod=998244353; inline int add(int x,int y){return (x+=y)>=mod?x-mod:x;} int n,f[N+5],g[N+5]; void Kafka() { cin>>n; f[0]=g[0]=1; for(int i=1;i<=n;++i) { g[i]=f[i-1]; for(int j=1;i*j<=n;++j) f[i*j]=add(f[i*j],g[i]); cout<<f[i]; if(i==n) cout<<endl; else cout<<' '; } } signed main() { Kafka(); return 0; }
1012
题意转化为两个条件都不能满足,则
1. 实力>=L 的队伍只能有一支
2. 队内极差要超过D
分类讨论:
如果a1的实力>=L,那么只能找<L的,且为了构造极差,最好找最小值。判断个数够不够
如果a1的实力<L,那么为了构造极差,可以把最大值放进来,再把最小的放进来。同样判断个数够不够
实现的话自认为我的代码还是优雅的
标签:杭电,ch,a1,int,2024,read,getchar,第三场,dis From: https://www.cnblogs.com/liyishui2003/p/18326140