Educational Codeforces Round 74 (Rated for Div. 2)
Educational Codeforces Round 74 (Rated for Div. 2)
原题地址
# | 题目 | 分数 | 是否AC |
---|---|---|---|
A | Prime Subtraction | 900 | ✅ |
B | Kill 'Em All | 1300 | ✅ |
C | Standard Free2play | 1600 | ✅ |
D | AB-string | 1900 | ❌ |
E | Keyboard Purchase | 2200 | ❌ |
F | The Maximum Subtree | 2200 | ❌ |
G | Adilbek and the Watering System | 2700 | ❌ |
A. Prime Subtraction
题目类型 数论
题意
输入两个整数 xxx、yyy,然后判断是否可以使 xxx 减去一个素数任意次使 xxx 最终等于 yyy。
分析
因为除 1 外的所有非负数不是素数就是素数的倍数,所有判断 x−yx - yx−y 是否等于 1 即可。
代码
public static void solve() throws IOException {long x = nextLong();long y = nextLong();if (x - y == 1) pw.println("NO");else pw.println("YES");}
B. Kill 'Em All
题目类型 贪心
题意
在水平坐标轴上有一些怪物,可以通过炸弹消灭它们(直接炸死或将其推倒负半轴)。在坐标 xxx 处放一个炸弹:
- 使点 xxx 处的怪物直接被消灭
- 将 xxx 左边所有的怪物向左推动,使其坐标变为 x−rx - rx−r
- 将 xxx 右边所有的怪物向右推动,使其坐标变为 x+rx + rx+r
求将所有怪物消灭至少需要多少炸弹。
分析
因为安放一个炸弹只会消灭其安放位置处的怪物和其左边被推进负半轴的怪物。所以每次选择在最右边未被消灭的怪物处安放炸弹。
代码
public static void solve() throws IOException {int n = nextInt();int r = nextInt();int[] a = new int[n];for (int i = 0; i < n; i++) a[i] = nextInt();shuffle(a);Arrays.sort(a);HashSet<Integer> set = new HashSet<>();int x = 0;int ans = 0;for (int i = n - 1; i >= 0; i--) {if (!set.contains(a[i])) {set.add(a[i]);if (a[i] - x > 0) {x += r;ans++;}}}pw.println(ans);}public static void shuffle(int[] a) {for (int i = 0, len = a.length; i < len; i++) {int rand = (int) (Math.random() * len);int temp = a[rand];a[rand] = a[i];a[i] = temp;
C. Standard Free2play
题目类型 贪心 数学
题意
在一个高度为 hhh 的悬崖上有 nnn 个台阶(伸出来),当从高度为 xxx 的台阶向下跳时 xxx 处的台阶会隐藏,x−1x - 1x−1 处的台阶会改变其状态:
- 如果 x−1x - 1x−1 处的台阶是伸出来的,则它会被隐藏
- 如果 x−1x - 1x−1 处的台阶是隐藏的,则它会伸出
起初人物是站在高度为 hhh 处,人物每次最多只能跳到 x−1x - 1x−1 或 x−2x - 2x−2 处(且此处有台阶),否则就会摔死。人物可以通过花费 111 宝石,来改变除第 hhh 处的台阶外其它所有台阶的状态。求人物最终落到 000 处的最小花费。
分析
如果 x−1x - 1x−1 处的台阶是伸出来的,则下落时会隐藏,此时需要判断 x−2x - 2x−2 处的台阶是否是伸出来的如果不是伸出来的则需要花费 111 宝石来改变它的状态否则直接落到 x−2x - 2x−2 处。
如果 x−1x - 1x−1 处的台阶是隐藏的,则下落时会伸出,此时可以直接落到 x−1x - 1x−1 处。
代码
static TreeSet<Integer> set;static int ans;public static void solve() throws IOException {int h = nextInt();int n = nextInt();ans = 0;set = new TreeSet<>();for (int i = 0; i < n; i++) set.add(nextInt());set.add(0);fun(h);pw.println(ans);}public static void fun(int h) {if (h <= 2) return ;int H = set.lower(h);if (h - H == 1) {set.remove(H);if (h - set.lower(h) > 2) ans++;fun(h - 2);} else {fun(H + 1);}}
Educational Codeforces Round 74 (Rated for Div. 2)相关推荐
- Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)
Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...
- Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...
- Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...
- Educational Codeforces Round 37 (Rated for Div. 2) 1
Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...
- Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...
- Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...
- Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
传送门 文章目录 题意: 思路: 题意: 给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数. n,m≤5e3n,m\le5e3n,m≤5e3 思 ...
- Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays 组合数学
传送门 文章目录 题意: 思路: 题意: 给你一个数组aia_iai,定义一个数组是好的当且仅当对于所有iii都有ai!=ia_i!=iai!=i.定义f(a)f(a)f(a)表示数组aaa中i& ...
- Educational Codeforces Round 111 (Rated for Div. 2) E. Stringforces 二分 + 状压dp
传送门 文章目录 题意: 思路: 题意: 给你一个串,只包含前kkk个字母和???,定义fif_ifi表示第iii个字母在串中出现的最长连续长度,你现在需要将???替换为前kkk个字母,使得mini ...
最新文章
- Extjs PROXY查询params无法传参,改用extraParams
- SQL Server DB Link相关
- 16.C++中的this指针
- ecshop 默认图处理
- 【收藏】SpringBlade开发手册地址
- JQUERY操作html--获取和设置内容、属性、回调函数
- [Leedcode][JAVA][第1162题][BFS]
- 改善深层神经网络:超参数调整、正则化以及优化——2.2 理解Mini-batch梯度下降法
- D3 Collection
- 2018杭州电子科技大学计算机研究生复试笔试编程题第三题
- 【写作技巧】毕业论文写作资料搜索库大全
- 相比于深度学习,传统的机器学习算法难道就此没落了吗,还有必要去学习吗?...
- Java之Maven配置教程
- 快冲!淘宝无货源副业,傻瓜式操作,日赚300-500元!!
- 激活码和注册码有什么不同?
- 第26课时,实践4,定期存款利息计算器
- 资源宝分享wordpress主题后门检测清理技巧
- 孙鑫java视频教程笔记
- 尝试EFM32下的fatfs的使用
- Python+Vue计算机毕业设计大数据在线考试系统在线阅卷系统及大数据统计分析7o33p(源码+程序+LW+部署)
热门文章
- rpf逆向路径转发 linux,CISCO 组播RPF 逆向路径转发 实验原理
- python的PDF工具
- (sketch to image) 论文阅读笔记 SketchyCOCO:Image Generation from Freehand Scene Sketches
- 学校机房电脑前面的耳机插孔不可用
- 从最大似然估计开始,你需要打下的机器学习基石
- 屏幕录制:SCR Screen Recorder Pro v0.14.3汉化破解版
- 无监督关键短语的生成问题博客13--Segmentation.py的分析
- AIX 用户使用的系统资源限制包括两个概念 --- 硬限制(hard limits) 和软限制(soft limits)
- thinkjs连接mysql_Mysql_ThinkJs2.0开发手册_w3cschool
- android 历史搜索布局,《Android APP可能有的东西》之UI篇:流式标签搜索历史