Educational Codeforces Round 13
Educational Codeforces Round 13
A Johny Likes Numbers
做法:假设答案为
代码:
void solve(){
int n, k;
cin >> n >> k;
cout << n - (n % k) + k << endl;
}
B The Same Calendar
做法:考虑对
代码:
int pd(int n) {
if(n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)) return 1;
return 0;
}
void solve(){
int n;
cin >> n;
int pdq = pd(n);
int now = 365 + pdq;
while(1) {
n++;
if(pd(n)) {
now += 366;
}
else now += 365;
if(now % 7 == 2 && pdq == 1 && pd(n) == 1) break;
if(now % 7 == 1 && pdq == 0 && pd(n) == 0) break;
}
cout << n << endl;
}
C Joty and Chocolate
做法:简单容斥一下即可,答案为:
代码:
void solve(){
int n , a, b , p , q;
cin >> n >> a >> b >> p >> q;
cout << n / a * p + n / b * q - n /((a * b) / __gcd(a,b)) * min(p , q) << endl;
}
D Iterated Linear Function
做法:两种显然的做法,一个是矩阵快速幂一下,还有也可以直接手拆这个公式去看,其实就是一个等比加一个
代码:
int qmi(int a, int k) {
int res = 1;
while(k) {
if(k & 1) {
res = res * a % mod;
}
k >>= 1;
a = a * a % mod;
}
return res;
}
void solve(){
int a, b,n , x;
cin >> a >> b >> n >> x;
if(a == 1) {
cout << (x + n % mod * b % mod) % mod << endl;
}
else {
int ans = 0;
ans = (qmi(a,n) * x + b * (((qmi(a, n) - 1) % mod + mod) % mod) % mod * qmi(a - 1, mod - 2) % mod) % mod;
cout << ans << endl;
}
}
E Another Sith Tournament
做法:看到数据范围想到状态压缩,比较容易想到的做法是直接考虑二进制每一位,
这样想了之后,我们可以去想如何去转移胜率的关系,如果将有的1去排列一遍对局情况,复杂度显然不能接受,所以我们可以给状态加一维,所以最后的状态定义为:
转移方程可以考虑,当前二进制串下,如果出现了多个1,我们考虑这两个人互相击败对方,两种情况,概率相加,这样就是
代码:
void solve(){
int n;
cin >> n;
for (int i = 0;i < n;i ++) {
for (int j = 0;j < n;j ++) {
cin >> p[i][j];
}
}
f[1][0] = 1.0;
for (int i = 2;i < (1 << n);i ++) {
for (int j = 0;j < n;j ++) {
if(i >> j & 1) {
// cout << i << ' ' << j << endl;
for (int k = 0;k < n;k ++) {
if(i >> k & 1) {
f[i][j] = max(f[i][j] , p[j][k] * f[i - (1 << k)][j] + p[k][j] * f[i - (1 << j)][k]);
}
}
}
}
}
if(n == 1) {
printf("%.20lf\n",1.0);
return ;
}
double ans = 0;
// for (int i = 0;i < n;i ++) printf("%.10lf\n", f[(1 << n) - 1][i]);
for (int i = 0;i < n;i ++) ans = max(ans, f[(1 << n) - 1][i]);
printf("%.15lf\n",ans);
}
分类:
EDU板刷记录
标签:
codeforces
, 算法学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具