随笔分类 -  基础算法 -- 模拟

1
摘要:【LOJ 3096】[SNOI2019]数论 题面 "LOJ" 题解 考虑枚举一个$A$,然后考虑有多少个合法的$B$。 首先这个数可以写成$a_i+kP$的形式,那么它模$Q$的值成环。 所以我们预处理每个环内有多少个合法的$b$,再把$b$按照访问顺序记录一下,那么对于每一个$a$就可以直接算答 阅读全文
posted @ 2019-04-29 10:08 小蒟蒻yyb 阅读(442) 评论(0) 推荐(0)
摘要:【CF1151E】Number of Components 题面 "CF" 题解 联通块个数=点数 边数。 然后把边全部挂在较小的权值上。 考虑从小往大枚举左端点,等价于每次删掉一个元素,那么删去点数,加上边数,修改一下当前值就行了。 这个东西对于任意形态的树都可以做。 cpp include in 阅读全文
posted @ 2019-04-19 21:54 小蒟蒻yyb 阅读(641) 评论(0) 推荐(0)
摘要:【BZOJ5322】[JXOI2018]排序问题(模拟) 题面 "BZOJ" "洛谷" 题解 这题就显得很呆。 显然就是每次找到$[l,r]$中出现次数最小的那个数并且放一个。 然后随便模拟一下就好了QwQ。 cpp include include include using namespace s 阅读全文
posted @ 2019-02-23 14:36 小蒟蒻yyb 阅读(350) 评论(7) 推荐(0)
摘要:【BZOJ5308】[ZJOI2018]胖(模拟,ST表,二分) 题面 "BZOJ" "洛谷" 题解 首先发现每条$0$出发的边都一定会更新到底下的一段区间的点。 考虑存在一条$0\rightarrow x$的边,我们来求解其可以影响的区间$[L,R]$,显然$L\le x\le R$。 两侧分开考 阅读全文
posted @ 2019-02-21 19:55 小蒟蒻yyb 阅读(342) 评论(0) 推荐(0)
摘要:NOIP2014题解 Day1 生活大爆炸版石头剪刀布 rps 简单模拟题,注意细节 cpp include include using namespace std; inline int read() { int x=0;bool t=false;char ch=getchar(); while( 阅读全文
posted @ 2018-11-08 16:03 小蒟蒻yyb 阅读(538) 评论(0) 推荐(0)
摘要:NOIP2012题解 Day1 Vigenère 密码 vigenere 直接模拟就好了,对于那张表找找规律就很短了。 Day2 同余方程 mod $exgcd$模板题 疫情控制 blockade 好题。 不难发现可以二分答案。考虑如何$check$。 首先如果一支军队不能走到根节点那么显然它就停在 阅读全文
posted @ 2018-11-07 22:40 小蒟蒻yyb 阅读(337) 评论(1) 推荐(1)
摘要:NOIP2011题解 当然还是早就做完了啊,重新写一遍。 Day1 铺地毯 carpet 倒着检查最后被哪个覆盖了就好了。 选择客栈 hotel 对于每种颜色维护一下前面有多少个可以和当前这个酒店配对,显然这个是单调递增的。每次找到一个合法的咖啡馆之后显然可以把前面一段连续区间加入贡献,直接开一个桶 阅读全文
posted @ 2018-11-07 20:38 小蒟蒻yyb 阅读(240) 评论(0) 推荐(0)
摘要:NOIP2010题解 显然原来都写过,都重新写一遍。 机器翻译 translate 一道很容易的模拟题,直接使用一个队列维护一下顺序就好了。 乌龟棋 tortoise 一个不难想的$dp$是设$f[i][a1][a2][a3][a4]$表示当前在$i$位置,四种卡牌分别用的张数为$a1,a2,a3, 阅读全文
posted @ 2018-11-06 20:36 小蒟蒻yyb 阅读(314) 评论(0) 推荐(0)
摘要:【BZOJ2484】[SDOI2011]打地鼠(暴力) 题面 "BZOJ" "洛谷" 题解 看到数据范围这题就应该是一个暴力题了。 先考虑假如我们知道了锤子的大小$R C$,那么显然只需要从左上角开始从左往右从上往下一个个砸就行了,因为你砸到当前位置之后左上角一定没有限制了,只有当前这个位置还有限制 阅读全文
posted @ 2018-10-31 22:39 小蒟蒻yyb 阅读(234) 评论(0) 推荐(0)
摘要:【BZOJ1800】[AHOI2009]飞行棋(暴力) 题面 "BZOJ" "洛谷" 题解 预处理一下前缀和就可以$O(1)$计算两点间的距离了,直接$O(n^4)$暴力枚举即可。 cpp include include using namespace std; int n,s[50],ans; i 阅读全文
posted @ 2018-10-15 19:45 小蒟蒻yyb 阅读(238) 评论(0) 推荐(0)
摘要:【BZOJ1303】[CQOI2009]中位数图(模拟) 题面 "BZOJ" "洛谷" 题解 把大于$b$的数设为$1$,小于$b$的数设为$ 1$。显然询问就是有多少个横跨了$b$这个数所在的位置的区间的和恰好为$0$。那么拿个数组记一下左边,右边直接算就好了。 cpp include inclu 阅读全文
posted @ 2018-10-07 21:54 小蒟蒻yyb 阅读(253) 评论(0) 推荐(0)
摘要:【BZOJ1970】[AHOI2005]矿藏编码(模拟) 题面 "BZOJ" "洛谷" 题解 随便写个高精度模拟一下就完了。 cpp include include include using namespace std; define ll long long int n,l,k;char ch[ 阅读全文
posted @ 2018-10-03 16:49 小蒟蒻yyb 阅读(206) 评论(0) 推荐(0)
摘要:AtCoder Grand Contest 008 A Simple Calculator 翻译 有一个计算器,上面有一个显示按钮和两个其他的按钮。初始时,计算器上显示的数字是$x$,现在想把这个数字给变成$y$。两个按钮的作用分别是让这个数加一和把这个数取反。问最少的按按钮的次数。 题解 神仙特判 阅读全文
posted @ 2018-09-25 14:21 小蒟蒻yyb 阅读(256) 评论(0) 推荐(0)
摘要:AtCoder Grand Contest 007 A Shik and Stone 翻译 "见洛谷" 题解 傻逼玩意 D Shik and Game 翻译 (什么傻吊题面) 有一个数轴,初始情况下玩家在$0$位置,出口在$E$位置,数轴上还有$n$只熊,你只要到了它的位置,再过$T$个单位时间它所 阅读全文
posted @ 2018-09-22 10:32 小蒟蒻yyb 阅读(592) 评论(0) 推荐(1)
摘要:AtCoder Grand Contest 003 A Wanna go back home 翻译 告诉你一个人每天向哪个方向走,你可以自定义他每天走的距离,问它能否在最后一天结束之后回到起点。 题解 什么逗逼东西。。。 D Anticube 翻译 给定$n$个数,要求选出最多的数,满足任意两个数的 阅读全文
posted @ 2018-09-15 16:51 小蒟蒻yyb 阅读(323) 评论(0) 推荐(0)
摘要:AtCoder Grand Contest 002 A Range Product 翻译 告诉你$a,b$,求$\prod_{i=a}^b i$是正数还是负数还是零。 题解 什么鬼玩意。 D Stamp Rally 翻译 给定一张图,每次询问从$x y$选择两条路径,要求被经过的点数恰好为$z$,求 阅读全文
posted @ 2018-09-13 15:33 小蒟蒻yyb 阅读(551) 评论(2) 推荐(0)
摘要:AtCoder Grand Contest 001 A BBQ Easy 翻译 给你$2n$个数,需要两两配对成$n$对,每对的权值定义为两个数的较小值,求最大权值和。 题解 排序即可。 E BBQ Hard 翻译 "洛谷" 翻译其实有点问题。 应该是 $$\sum_{i=1}^n\sum_{j=i 阅读全文
posted @ 2018-09-11 10:47 小蒟蒻yyb 阅读(445) 评论(0) 推荐(0)
摘要:【CF625E】Frog Fights(模拟) 题面 "CF" "洛谷" 翻译: 有$n$只青蛙在一个被分为了$m$等分的圆上,对于每份顺时针依次标号。 初始时每只青蛙所在的位置是$p_i$,速度是$a_i$。 然后从$1$号青蛙开始,顺次移动,每只青蛙顺时针移动$a_i$个格子。 途中碰到的所有青 阅读全文
posted @ 2018-07-02 16:27 小蒟蒻yyb 阅读(474) 评论(0) 推荐(0)
摘要:【BZOJ5288】【HNOI2018】游戏(乱搞?) 题面 "BZOJ" "洛谷" 题面自己到洛谷上看把 题解 考场上乱搞拿到了$90$分,简直不敢相信。 回家把代码再交了一份直接就$AC$了??? $O(n^2)$的做法应该很容易想 对于每个点作为起点,暴力向左右两侧拓展, 看看它能够到达的区间 阅读全文
posted @ 2018-04-17 20:26 小蒟蒻yyb 阅读(404) 评论(0) 推荐(0)
摘要:【BZOJ1216】操作系统(堆,模拟) 题面 题目描述 写一个程序来模拟操作系统的进程调度。假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的。其中运行优先级用自然数表示,数字越大,则优先级越高。 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束 阅读全文
posted @ 2017-11-04 21:22 小蒟蒻yyb 阅读(226) 评论(0) 推荐(0)

1