模拟
CaprYang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 题解
题解 使用树状数组查询某个范围内的数值的数量,因为数值比较大需要先进行离散化处理。 使用DFS遍历整棵树,当到达某个节点时首先查询区间[a[i]-m, a[i]+m]范围内的数字数量记为last,表示还没到当前子树时已有的数量。 将当前节点值加进梳妆数组,因为自身到自身也算。进行递归,回溯后再次查询区间[a[i]-m, a[i]+m]记为now,表示增加了自身子树之后的数量。 最后每个点的答案f[...原创 2019-04-13 18:41:12 · 1040 阅读 · 2 评论 -
河南省第九届ACM程序设计竞赛 部分题解
A 表达式求值 <逆波兰> #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const ll LINF =...原创 2019-04-21 14:14:21 · 1325 阅读 · 0 评论 -
Codeforces Round #553 (Div. 2) 题解
题目链接 A. Maxim and Biology 取连续一段改为ACTG的最小代价 #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x3f...原创 2019-04-20 23:12:59 · 1201 阅读 · 2 评论 -
Codeforces Round #552 (Div. 3) 题解
题目链接 A. Restoring Three Numbers #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; con...原创 2019-04-20 22:47:58 · 964 阅读 · 2 评论 -
2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛
A PUBG <dijkstra> 边权不为1时最短路使用dijkstra。 #include <stdio.h> #include <bits/stdc++.h> #define fst first #define sed second using namespace std; typedef long long ll; const int INF = 0x...原创 2019-04-09 22:13:01 · 527 阅读 · 0 评论 -
L1-064 估值一亿的AI核心代码 模拟
题解 直接模拟即可,使用string库的substr可以直接判断某段是否相等,使用replace可以方便的将某段字符改为其它串。 独立的"can you",“could you"需要先判断前后是否都不是字符,处理独立的"I”, “me"时需要在转换为"I can”,"I could"后elseif。 AC代码 #include <stdio.h> #include <bits/s...原创 2019-04-02 19:29:38 · 1212 阅读 · 0 评论 -
Shuffle'm Up POJ - 3087 模拟
题解 先将ab串交叉合并在一起作为一个2n长度的串,并记录下来。每次将串拆分为两半再次进行交叉合并,如果变成目标串则成功,如果回到最开始的记录则失败。 直接模拟即可,使用string类可以方便的进行拆分和合并。 AC代码 #include <stdio.h> #include <iostream> #include <string> #define fst fi...原创 2019-03-30 22:58:27 · 587 阅读 · 0 评论 -
小P当志愿者送餐 ZZULIOJ - 1361 贪心 模拟
题解 题目说了,最终的答案只和走的路径长度有关,交付的代价是固定的。 拿最后一个样例说明,最大携带量为10,三个点需求分别为5 0 8,如果最先满足第一个点5则还有剩余物品,有两个选择要么是继续向后走,要么是回起点重新补充。 继续向后走剩余的5个对于8个来说还不能满足,则需要再走一趟到最后一个点,这样代价就会高。 如果选择会起点补充则相当于浪费了5个物品,对于这个样例来说不会亏但是肯定也不会赚。 ...原创 2019-03-03 20:30:25 · 838 阅读 · 0 评论 -
楼上真的是签到题 ZZULIOJ - 2460 模拟
题解 假设单位秒内给酒杯倒的量为512 (512是因为一共10层每次分2个叉最多分9次 2的9次方足够) 最开始直接将T秒的酒量导入最上层杯子中 至于他为什么装得下不用考虑 反正这样不会影响结果 然后一层一层遍历杯子 如果杯子容量超过512将多出部分分给他下层的两个杯子分别是a[当前层+1][当前位置]和a[当前层+1][当前位置+1]模拟即可 AC代码 #include &amp;lt;stdio.h&amp;...原创 2018-12-17 23:22:56 · 802 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day7 (Div2, onsite) E 线性探查法 模拟 贪心
题解 b数组一定有数值%n==位置的元素 这个是无碰撞直接插入的元素 使用set维护所有当前插入的元素 所有无碰撞的元素直接加入set 每次取出数值最小的元素插入 插入后会影响到后面第一个空闲位置 检测他出现的位置和直接取模之间的所有元素是否已经插入 如果是则将他加入set作为备选 AC代码 #include &lt;stdio.h&gt; #include &lt;bits/stdc++.h&g...原创 2019-01-26 18:06:35 · 486 阅读 · 0 评论 -
Codeforces Round #528 (Div. 2) A. Right-Left Cipher 模拟
题解 题目大意 给一个加密后的串 问原串是什么 加密规则是第一个字符在中间后面的右边一个左边一个 计算第一个的位置 然后然后两个指针模拟即可 AC代码 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;gt; using namespace std; typedef long lon原创 2018-12-24 00:00:21 · 386 阅读 · 0 评论 -
小新三连(一):小新在打牌 ZZULIOJ - 2481 模拟
题解 计算对手和自身已有牌的和并对M取模 计算过程中统计剩余牌的数量 尝试所有剩余的牌 如果可以赢则赢 不能赢能平就平 AC代码 #include <stdio.h> #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; int to...原创 2018-12-23 17:39:50 · 919 阅读 · 0 评论
分享