模拟
CaprYang
这个作者很懒,什么都没留下…
展开
-
楼上真的是签到题 ZZULIOJ - 2460 模拟
题解假设单位秒内给酒杯倒的量为512 (512是因为一共10层每次分2个叉最多分9次 2的9次方足够)最开始直接将T秒的酒量导入最上层杯子中 至于他为什么装得下不用考虑 反正这样不会影响结果然后一层一层遍历杯子 如果杯子容量超过512将多出部分分给他下层的两个杯子分别是a[当前层+1][当前位置]和a[当前层+1][当前位置+1]模拟即可AC代码#include <stdio.h&...原创 2018-12-17 23:22:56 · 749 阅读 · 0 评论 -
河南省第九届ACM程序设计竞赛 部分题解
A 表达式求值 <逆波兰>#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;const ll LINF =...原创 2019-04-21 14:14:21 · 1206 阅读 · 0 评论 -
Codeforces Round #553 (Div. 2) 题解
题目链接A. Maxim and Biology取连续一段改为ACTG的最小代价#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x3f...原创 2019-04-20 23:12:59 · 1060 阅读 · 2 评论 -
Codeforces Round #552 (Div. 3) 题解
题目链接A. Restoring Three Numbers#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;con...原创 2019-04-20 22:47:58 · 841 阅读 · 2 评论 -
2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛
A PUBG <dijkstra>边权不为1时最短路使用dijkstra。#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x...原创 2019-04-09 22:13:01 · 408 阅读 · 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 · 1118 阅读 · 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 · 493 阅读 · 0 评论 -
小P当志愿者送餐 ZZULIOJ - 1361 贪心 模拟
题解题目说了,最终的答案只和走的路径长度有关,交付的代价是固定的。拿最后一个样例说明,最大携带量为10,三个点需求分别为5 0 8,如果最先满足第一个点5则还有剩余物品,有两个选择要么是继续向后走,要么是回起点重新补充。继续向后走剩余的5个对于8个来说还不能满足,则需要再走一趟到最后一个点,这样代价就会高。如果选择会起点补充则相当于浪费了5个物品,对于这个样例来说不会亏但是肯定也不会赚。...原创 2019-03-03 20:30:25 · 758 阅读 · 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 · 399 阅读 · 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 · 327 阅读 · 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 · 863 阅读 · 0 评论 -
“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 题解
题解使用树状数组查询某个范围内的数值的数量,因为数值比较大需要先进行离散化处理。使用DFS遍历整棵树,当到达某个节点时首先查询区间[a[i]-m, a[i]+m]范围内的数字数量记为last,表示还没到当前子树时已有的数量。将当前节点值加进梳妆数组,因为自身到自身也算。进行递归,回溯后再次查询区间[a[i]-m, a[i]+m]记为now,表示增加了自身子树之后的数量。最后每个点的答案f[...原创 2019-04-13 18:41:12 · 867 阅读 · 2 评论