当前位置: 首页 > news >正文

Panasonic Programming Contest 2025(AtCoder Beginner Contest 427)

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();}
}
http://www.jsqmd.com/news/112809/

相关文章:

  • 2025年12月智能数控机床实力厂家权威推荐榜:专机/双头对接/线轨硬轨/重型机床全品类深度解析与选购指南 - 品牌企业推荐师(官方)
  • 青岛超级学长怎么样?本地出国语培机构业务与服务解析 - 品牌排行榜
  • iOS 组合布局(UICollectionViewCompositionalLayout)
  • Nginx和网关的区别
  • 2025年12月毛衣针织厂家权威推荐榜:高领/长款/羊绒/小香风,男士女士儿童全品类,甄选柔软亲肤与时尚设计口碑之选 - 品牌企业推荐师(官方)
  • 国内值得关注的酒店设计公司有哪些 - 品牌排行榜
  • 室内门十大品牌有哪些?2025年行业口碑推荐榜单 - 品牌排行榜
  • 高性能对象存储解决方案:AI 时代数据洪流下的基石
  • 2025年海外独立站引流公司推荐(12月更新),五家值得关注的海外独立站引流公司盘点 - 品牌2026
  • 【赵渝强老师】Kubernetes的安全框架
  • 办公室翻新公司推荐:聚焦专业服务与行业标杆 - 品牌排行榜
  • 郑州雅思托福培训学长口碑如何?真实体验与机构解析 - 品牌排行榜
  • 2025年12月锡膏厂家权威推荐榜:激光焊接/金锡合金/水洗型/高导热/超细粉锡膏,专业选型指南与创新工艺解析 - 品牌企业推荐师(官方)
  • Day34rem配合flexible布局
  • 2025室内门十大品牌推荐:品质与设计的优选指南 - 品牌排行榜
  • 广州雅思培训机构推荐:本地热门机构信息整理 - 品牌排行榜
  • 选点问题的贪心算法分析
  • 酒店设计公司推荐:国内优质机构实力解析 - 品牌排行榜
  • 从一次性纸杯机到纸碗机:2025年度高性价比制杯设备厂商红黑榜,避免采购踩坑 - 品牌2026
  • 2025年12月GEO优化,GEO系统,GEO技术厂商推荐:聚焦企业综合实力与核心竞争力 - 品牌鉴赏师
  • 2025年深圳资深离婚财产律师排行榜,推荐经验丰富的离婚财产律师及收费标准 - mypinpai
  • 济南超级学长怎么样?本地留学语言培训口碑与课程解析 - 品牌排行榜
  • docker安装postgresql17.6
  • 第十二周第一天12.1
  • 从项目成果到职业晋升:项目经理年终总结的高效撰写法
  • 高可用组件实战教程:Keepalived/Heartbeat与集群故障自动切换全解析
  • 2025年乌鲁木齐小班复读学校权威推荐榜单:乌鲁木齐一对一复读培训/乌鲁木齐分数提升班学校/乌鲁木齐考前冲刺班培训机构精选 - 品牌推荐官
  • 隐私计算与区块链融合:微算法科技(NASDAQ MLGO)构建新一代区块链网络的创新实践
  • SpringBoot美术艺术工作室管理系统|1123(领完整源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小代码、C#、C++、python、数据可视化、全套文案
  • 小投入大产出:2025创业聚焦——全伺服纸杯机与纸咖啡杯机优质制造商深度盘点 - 品牌2026