[Offer收割]编程练习赛63
命名
暴力
1 #include <bits/stdc++.h> 2 using namespace std; 3 char S[1111], T[1111], a[1111], b[1111]; 4 5 int main() { 6 int N; 7 scanf("%d", &N); 8 while(N--) { 9 scanf("%s %s", S + 1, T + 1); 10 int ls = strlen(S + 1), lt = strlen(T + 1), la = 0, lb = 0; 11 for(int i = 1; i <= ls; ++i) { 12 if(i % 2) a[++la] = S[i]; 13 else b[++lb] = S[i]; 14 } 15 int pa = 1, pb = 1; 16 for(int i = 1; i <= lt; ++i) { 17 if(pa <= la && T[i] == a[pa]) pa++; 18 if(pb <= lb && T[i] == b[pb]) pb++; 19 } 20 puts(pa > la || pb > lb ? "Yes" : "No"); 21 } 22 return 0; 23 }
Aguin
洗牌
暴力
1 #include <bits/stdc++.h> 2 using namespace std; 3 int a[1111]; 4 5 void solve(int l, int r) { 6 int m = (l + r) / 2; 7 for (int i = l; i <= m; ++i) swap(a[i], a[m+i-l+1]); 8 if (r - l > 1) solve(l, m), solve(m + 1, r); 9 } 10 11 int main() { 12 int n, t; 13 scanf("%d %d", &n, &t); 14 for (int i = 1; i <= (1 << n); ++i) scanf("%d", a + i); 15 if (t % 2 == 0) for (int i = 1; i <= (1 << n); ++i) printf("%d\n", a[i]); 16 else { 17 solve(1, 1 << n); 18 for (int i = 1; i <= (1 << n); ++i) printf("%d\n", a[i]); 19 } 20 return 0; 21 }
Aguin
密码更改
暴力
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 LL o, t, ans = -1, b; 5 char s[22]; 6 int l; 7 8 LL dis(LL x, LL y) { 9 return min(abs(x - y), b - abs(x - y)); 10 } 11 12 int vis[10]; 13 void dfs(int x) { 14 if(x == l + 1) { 15 if(ans == -1) ans = t; 16 else if(dis(o, ans) < dis(o, t)) ans = t; 17 else if(dis(o, ans) == dis(o, t) && t < ans) ans = t; 18 return; 19 } 20 for(int i = 0; i <= 9; ++i) { 21 if(vis[i]) continue; 22 vis[i] = 1, t = t * 10 + i, dfs(x + 1); 23 vis[i] = 0, t /= 10; 24 } 25 } 26 27 void print(int x, LL y) { 28 if(x != 1) print(x - 1, y / 10); 29 printf("%lld", y % 10); 30 } 31 32 int main() { 33 scanf("%s", s + 1); 34 l = strlen(s + 1); 35 b = 1; 36 for(int i = 1; i <= l; ++i) b *= 10; 37 sscanf(s + 1, "%lld", &o); 38 dfs(1); 39 print(l, ans); 40 return 0; 41 }
Aguin
道路摧毁
树dp
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 const LL INF = 1e18; 5 const int maxn = 2e5 + 10; 6 vector<int> G[maxn], W[maxn]; 7 int lab[maxn]; 8 9 LL dp[maxn][3]; 10 void dfs(int x, int f) { 11 if(lab[x] == 1) dp[x][2] = INF; 12 if(lab[x] == 2) dp[x][1] = INF; 13 for(int i = 0; i < G[x].size(); ++i) { 14 int to = G[x][i], w = W[x][i]; 15 if(to == f) continue; 16 dfs(to, x); 17 if(lab[x] != 1) dp[x][2] += min(dp[to][2], dp[to][1] + w); 18 if(lab[x] != 2) dp[x][1] += min(dp[to][1], dp[to][2] + w); 19 } 20 } 21 22 int main() { 23 int n, o, mX, mY; 24 scanf("%d", &n); 25 scanf("%d", &mX); 26 for(int i = 1; i <= mX; ++i) scanf("%d", &o), lab[o] = 1; 27 scanf("%d", &mY); 28 for(int i = 1; i <= mY; ++i) scanf("%d", &o), lab[o] = 2; 29 for(int i = 1; i < n; ++i) { 30 int u, v, w; 31 scanf("%d %d %d", &u, &v, &w); 32 G[u].push_back(v), W[u].push_back(w); 33 G[v].push_back(u), W[v].push_back(w); 34 } 35 dfs(1, 0); 36 printf("%lld\n", min(dp[1][1], dp[1][2])); 37 return 0; 38 }
Aguin
转载于:https://www.cnblogs.com/Aguin/p/9164835.html
[Offer收割]编程练习赛63相关推荐
- 最简真分数c语言,HihoCoder1655 : 第K小最简真分数([Offer收割]编程练习赛39)(唯一分解+容斥定理+二分)(不错的数学题)...
描述 给一个整数N,请你求出以N为分母的最简(既约)真分数中第K小的是多少? 输入 两个整数N个K. 对于30%的数据,1 <= N <= 1000000 对于100%的数据,1 < ...
- ACM学习历程—Hihocoder [Offer收割]编程练习赛1
比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...
- hihocoder offer收割编程练习赛11 B 物品价值
思路: 状态压缩 + dp. 实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> ...
- [Offer收割]编程练习赛50
题目3 : 末尾有最多0的乘积 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定N个正整数A1, A2, ... AN. 小Hi希望你能从中选出M个整数,使得它们的乘 ...
- hihocoder offer收割编程练习赛12 B 一面砖墙
思路: 就是求哪个长度出现的次数最多. 实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <algorit ...
- 【[Offer收割]编程练习赛9 C】三等分
[题目链接]:http://hihocoder.com/problemset/problem/1479 [题意] . [题解] 首先算出所有节点的权值的和val; 然后如果val%3!=0则直接输出0 ...
- [Offer收割]编程练习赛15 A.偶像的条件[贪心]
#1514 : 偶像的条件 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的学校正面临着废校的大危机.面对学校的危机,小Hi同学们决定从ABC三个班中各挑出一名同 ...
- hihocoder [Offer收割]编程练习赛24
比赛https://hihocoder.com/contest/offers24/problems 应该能拿到个鼠标垫 舒服了 这个oj体验好差,每次都要先因为选错语言CE一发,而且刷新之后还是默认G ...
- hihocoder offer收割编程练习赛8 B 拆字游戏
思路: 模拟,dfs. 注意题目中的trick,输出一块的时候不要把其他块也输出了. 实现: 1 #include <cstring> 2 #include <iostream> ...
最新文章
- python和R数据类型查看、赋值、列表、for循环、函数用法对比示例
- opencv利用直方图判断人脸光照质量
- 04.React事件 方法、 React定义方法的几种方式 获取数据 改变数据 执行方法传值...
- 阿里云AI如何助攻世界杯?视频集锦背后的技术实践
- python中locked_Python锁类| 带示例的locked()方法
- Android 功耗(10)---如何测试 Mediatek 平台各个场景的功耗数据?
- 通过fork进程爆破canary
- ES6——变量的解构赋值
- 我们为什么要学习 Python、TypeScript 与 Go?
- 2020年4月编程语言排行榜:少儿编程真有这么火吗?
- 图像识别---opencv安装
- 挑战程序设计竞赛_竞赛通知 | 第二届全国高校计算机能力挑战赛——程序设计赛来啦...
- 苹果ID登陆第三方有漏洞?硬核!Gartner报告腾讯云数据库增速国内第一;“小米快递”商标注册,这是要入局物流领域?...
- shader编程-三维场景下SDF建模,对模型进行扭曲、弯曲、裁剪、掏空操作(WebGL-Shader开发基础12)
- python 交通_Python可视化交通拥堵情况
- neu坐标系和xyz坐标系转换_航测必知的坐标系详解和转换关系
- PAT乙级【1001~1050】
- 基于改进PSGAN的AI自动美颜化妆系统(源码&教程)
- Quartus II无法打开
- GSMS软件系统ISO文件刻录教程
热门文章
- mybatis使用注解开发
- python打包成exe可执行文件指定进程名字
- lightgbm 决策树 可视化 graphviz
- MindInsight训练可视整体设计介绍
- SOC,System on-a-Chip技术初步
- 2021年大数据Spark(二十):Spark Core外部数据源引入
- Git 头指针分离与 FETCH_HEAD
- Android 接口回调
- com.android.ide.common process ProcessException:Failed to execcue aapt
- Android SDK Manager 的介绍