![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
QAQwdd
这个作者很懒,什么都没留下…
展开
-
NOIP2017 D1T2 时间复杂度
迟到了近一年的题解。。。(好吧其实只是我现在才敢做,没想到1A)首先不要在线判断,先把代码一行一行给读下来再慢慢判断。 对于每层循环,用栈存下来,同时记录一个flag数组判断当前循环情况:1表示该层循环有效0表示当前循环是常数循环,不影响后面循环-1表示当前循环to < from,不能进入剩下的差不多都在代码注释里了。。(代码巨丑)#include <cstd...原创 2018-07-12 19:54:31 · 263 阅读 · 0 评论 -
NOIP2012 开车旅行 倍增
题意:两人轮流开车,求解一些问题(题目已经讲得很清楚了) 题解:首先预处理出每座城市的最近点和次近点(可以用双向链表做,排序后从左到右依次找,找了之后就删掉)然后预处理倍增,注意这时的城市已经是排序过后的了,可以转化成原来的排列进行操作也可以直接在新排列上进行。接下来模拟就好咯具体看代码,这次写的有点复杂其实是因为我不会指针再加上作死#include<cstdio&gt...原创 2018-08-23 22:46:21 · 270 阅读 · 0 评论 -
NOIP2011 Mayan游戏 搜索
传送门题解:爆搜+剪枝 要注意以下几点:向右搜时,若颜色一样则不搜向左搜时,若不是空格,则不搜(因为此时它左边的方块已经向右搜索过了)可以把搜索过程想象成一颗搜索树,这样只用开与这棵树的深度成正比的状态数组DFS时先考虑右移,因为右移优先度比左移高具体见代码吧~#include<cstdio>#include<algorithm&原创 2018-08-25 18:33:33 · 224 阅读 · 0 评论 -
HNOI2009 梦幻布丁 启发式合并+队列
传送门题意:N个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。题解:启发式合并的神奇做法 把同种颜色的布丁排成一列,变色时接在那个颜色的队列后面;同时要把短的队列接在长的队列后面。 复杂度证明:由于每个操作中,合并短的队列和长的队列,合并后的队列至少有短的队列的2倍长 最多扩大lognlognlogn次,复杂度O(nlogn)O...原创 2018-08-25 18:49:31 · 252 阅读 · 0 评论 -
NOIP2010普及 三国游戏 贪心
传送门5min水了一道题。一句话题解:取对于每个武将第二大的匹配值的最大值就是答案。就是个很简单的贪心,加上是道水题,也不需要啥优化是吧#include<cstdio>#include<algorithm>using namespace std;int a[501][501];inline int read(){ int k = 0, f = 1; c...原创 2018-09-21 19:28:32 · 699 阅读 · 0 评论 -
NOIP2017 列队
传送门鸽了一年测试点1-6:二维数组模拟。测试点7-10:把所有询问到的行离散化。测试点11-16:发现所有事件x等于1,那么每次出队,入队只会对第一行和最后一列造成影响。相当于把最后一列压到第一行,这样就相当于维护一个序列,每次找出第x个元素并放在队尾。可以用线段树维护这个序列,每个节点维护的是当前区间长度,l=r时还存了这个人的编号,当出队的时候就找到第y个人,把这段区间长度设为0,再...原创 2018-11-06 21:49:37 · 547 阅读 · 0 评论