尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Panasonic Programming Contest 2025(AtCoder Beginner Contest 427)

Panasonic Programming Contest 2025(AtCoder Beginner Contest 427)
📅 发布时间:2026/6/18 15:48:01

D - The Simple Game

k<=10, 记忆化搜索,状态数2e5*20

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f#define int long longconst int N = 200010;
vector<int> G[N];
bool a[N][30];
bool vis[N][30];
string s; int mk;int dfs(int u, int step){if(vis[u][step]){return !a[u][step];}vis[u][step] = 1; if(step == 2*mk + 1){if(s[u] == 'A') a[u][step] = 1;else a[u][step] = 0;return !a[u][step];}a[u][step] = 0;for(auto v:G[u]){a[u][step] |= dfs(v, step + 1);}//cout << (!a[u][step]) << '\n';return !a[u][step];
}
void solve(){int n, m; cin >> n >> m >> mk;for(int i = 1; i <= n; i ++ ) {for(int j = 1; j <= 2 * mk + 1; j ++) vis[i][j] = 0;G[i].clear();}
cin >> s; s = "a" + s;while(m -- ){int u, v; cin >> u >> v; G[u].pb(v);
}if(dfs(1, 1)){cout << "Bob\n"; 
}
else cout << "Alice\n";}signed main(){std::ios::sync_with_stdio(false);int T = 1; cin >> T;while(T--){solve();}
}

E - Wind Cleaning

F - Not Adjacent

折半搜索,双搜
从n/2处断开,前面搜的存在mp里,3* 215log(215)

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f//#define int long longint a[100];
unordered_map<int, ll> mp0;
unordered_map<int, ll> mp1;
int n, m;ll ans;
void dfs1(int step, int cur,  int lst){if(step >= n/2) {if(lst)mp1[cur] ++;else mp0[cur] ++;return ;}if(!lst)dfs1(step + 1, (1ll*cur + 1ll*a[step]) % m, 1);dfs1(step + 1, cur, 0);
}void dfs2(int step, int cur,  int lst){if(step >= n + 1){ans += mp0[(m - cur) % m];return ;}if(!lst) dfs2(step + 1, (1ll*cur +  1ll*a[step]) % m, 1);dfs2(step + 1, cur, 0);
}
void dfs3(int step, int cur,  int lst){if(step >= n + 1){ans += mp0[(m - cur) % m] + mp1[(m - cur) % m];return ;}if(!lst) dfs3(step + 1, (1ll*cur +  1ll*a[step]) % m, 1);dfs3(step + 1, cur, 0);
}
void solve(){cin >> n >> m;for(int i = 1; i <= n; i ++) cin >> a[i];if(n == 1){if(a[1] % m ==0)cout << 2 << '\n';else cout << 1 << '\n';return ;}dfs1(1, 0, 0);dfs2(n/2 + 1, a[n/2], 1);dfs3(n/2 + 1, 0, 0);cout << ans << '\n';
}signed main(){std::ios::sync_with_stdio(false);int T = 1; //cin >> T;while(T--){solve();}
}

相关新闻

  • 青岛超级学长怎么样?本地出国语培机构业务与服务解析 - 品牌排行榜
  • Nginx和网关的区别
  • iOS 组合布局(UICollectionViewCompositionalLayout)

最新新闻

  • 名花贵族,草本/老姜王防脱洗发水/头皮按摩膏专业服务商 - 十大品牌榜
  • 上海二手包回收 4 大套路曝光!看懂再出手,少亏大几千 - 逸程
  • StringBuilder 和 StringBuffer
  • 用代码生成神经网络结构图:PlotNeuralNet实战指南
  • 2026年众智商学院SCMP7月考试资料怎么准备?报名材料和备考安排说明 - 众智商学院官方
  • iCloud照片批量下载终极指南:3种模式高效备份你的珍贵回忆

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号