
模拟
sunyutian1998
这个作者很懒,什么都没留下…
展开
-
Forgotten Spell Gym - 101755M
点击打开链接恶心思维模拟 记出现三种,两种,一种字符的位置的数量分别为v3 v2 v1(1) v3>1 不可能 因为每人最多错一次(2) v3==1 (1) v2>1 不可能 (2) v2==1 这时情况很复杂 很难继续分类讨论 直接暴力枚举出现三种和两种字符的那两个位置 然后看有几种结果 (3) 模棱两可 可能有一人是对的 有可能全错(3...原创 2018-04-29 08:50:44 · 554 阅读 · 0 评论 -
Derivative ZOJ - 3205
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3205模拟求偏导的过程 其实可以对每个询问n^2的回答 但是这里容易出现0^-1和 0^0 就很恶心 直接n^3即可水过#include <bits/stdc++.h>using namespace std;typedef long long ...原创 2019-03-08 11:22:33 · 198 阅读 · 0 评论 -
小计算器 蓝桥真题
http://lx.lanqiao.cn/problem.page?gpid=T459因为存到数组里了 忘记特判0的情况! 智障啊 过完寒假一点状态都没有。。 #include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ char ch[100]; ll ...原创 2019-02-25 13:24:29 · 346 阅读 · 0 评论 -
LCA in a Binary Tree PAT甲级 - 1151
https://pintia.cn/problem-sets/994805342720868352/problems/1038430130011897856给定前序中序 还原二叉树用单调栈扫一遍前序 对于一个点 他的父节点的前序肯定小于它 如过栈顶节点的左子树的中序区间包含当前节点 则当前节点为栈顶节点的左孩子 否则是右孩子 或者没有父子关系则pop栈顶这题有毒啊 给的前序中序不一定是...原创 2018-11-18 10:45:47 · 215 阅读 · 1 评论 -
铺管道 51Nod - 1580
https://www.51nod.com/Challenge/Problem.html#!#problemId=1580top[i][j]=1代表在第j列 从0到i行都没有障碍 bot lef rgt同理管道就四种情况 两端点在同一边缘 在相邻边缘 在相对边缘 分情况处理即可 利用上面四个数组的前缀和可以n^2 #include <bits/stdc++.h>us...原创 2018-11-14 09:32:45 · 190 阅读 · 0 评论 -
沙拉酱前缀 51Nod - 1422
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1422先预处理出前1e5个数 直接模拟这个过程 对于第二种操作用二分优化一下 看当前循环节往后覆盖的第一个数#include <bits/stdc++.h>using namespace std;typedef long long ll;con...原创 2018-10-03 10:15:48 · 178 阅读 · 0 评论 -
Family Name List HDU - 4409
http://acm.hdu.edu.cn/showproblem.php?pid=4409由G2 <= G1 +1得 题目给的是一个DFS序列 然后单调栈找出每个节点的父节点 然后三种操作都很裸有个坑点 题目中uv的lca不能等于uv 题目说的很隐晦 可以通过下面这句话猜一下"Since Mr. X has no ancestor in the list, so it's gu...原创 2018-09-19 22:04:31 · 252 阅读 · 0 评论 -
Valid BFS? CodeForces - 1037D
http://codeforces.com/contest/1037/problem/D设一个队头一个队尾 队尾元素必须是队首元素的子节点 否则就是非法序列 当队首元素的所有孩子节点都出现过后就出队列 然后继续判断下一个队首 直至队尾扫过整个序列 模拟一遍就好#include <bits/stdc++.h>using namespace std;struct node...原创 2018-09-04 01:00:18 · 247 阅读 · 0 评论 -
Brute Force Sorting HDU - 6215
http://acm.hdu.edu.cn/showproblem.php?pid=6215一开始直接拿链表来模拟 但是这样每删一遍数组都要从链表表头开始 有太多无谓的操作 后来看了学长博客才想到解决这样的问题可以想到用一个类似队列或栈的数组优化 提前把所有可能要操作的位置存下来 复杂度就接近线性了数组中保存的就是可能从该点开始产生非排序序列的下标 每次都删掉一段 下次再来到被删掉的位...原创 2018-08-30 14:53:28 · 175 阅读 · 0 评论 -
Three Logos CodeForces - 581D
点击打开链接模拟题 写的很难受 提心吊胆的看着status上跑过最后几个样例。。若三个矩形符合题意 三者中必有一个的长或宽等于正方形边长 将该矩形对准放到最上面即可 六种可能分类讨论剩下两个矩形必然各自有一边相等 对准拼成一个大矩形 看能不能和第一个矩形凑成正方形思路应该很简单 感觉实现起来比较棘手 还是太渣了 #include<bits/stdc++.h>...原创 2017-09-06 19:50:46 · 299 阅读 · 0 评论 -
Winter Is Coming CodeForces - 747D
点击打开链接思路很简单 写起来真的很难受 比赛差点就没出。。先统计冷天(零下)有多少 记为sum 这些天是必须装备冬日轮胎的如果冬日轮胎的数量k不足 肯定撑不过去 输出-1否则肯定可以熬过这些天 那么问题就可以转换成 先把k个冬日轮胎分配到冷天 剩余的(k-sum)个轮胎分配到热天先假设现在只有sum个轮胎 正好够我们用(分到冷天)但是每经历一次冷天到热天或热天到冷天的变化都要...原创 2017-09-10 19:31:07 · 327 阅读 · 0 评论 -
Report CodeForces - 631C
点击打开链接题目要求每次都对前r个数进行升序或降序排序我们发现 第一次对前三个数升序排序 如果第二次对前五个数排序 那第二次不管是升序还是降序都会覆盖第一次的排序 也就是说第一次的排序做了无用功据此我们可以使用单调栈 来简化所给命令 注意 不可以对栈中每一个命令都彻底执行 比如5 41 2 3 4 52 41 32 21 1这样就有n^2*log(n...原创 2017-10-20 19:33:50 · 362 阅读 · 0 评论 -
Farm Irrigation HDU - 1198
点击打开链接没什么道道 就是麻烦 要仔细看每个块是什么类型 又能和什么类型的块相连 预处理一下即可 #include <bits/stdc++.h>using namespace std;struct node{ int dir[4];};node per[11];int mp[100][100];int f[5000];int n,m;...原创 2017-11-05 17:49:18 · 250 阅读 · 0 评论 -
横向打印二叉树 蓝桥真题
模拟题 每个数在答案矩阵中该放在什么位置 只需要确定该数最高位的行列下标即可 行数就是该数的中序遍历的序数 列数就是普通dfs后该数所在节点的深度 加上所有父节点上的数的长度 然后就是 - 和 | 了 随便处理一下#include <bits/stdc++.h>using namespace std;struct node{ int l; int r...原创 2018-04-18 21:27:06 · 501 阅读 · 0 评论 -
生命游戏 蓝桥真题
直接模拟细胞繁殖与死亡的过程 打表记录下每次变化后的活细胞数量 发现有长度为60的循环节 即每60个数加10#include <bits/stdc++.h>using namespace std;const int maxn=1e2+10;char ch[2*maxn][maxn][maxn];int q=200,n=100,m=100;void init()...原创 2019-05-21 15:14:55 · 436 阅读 · 0 评论