07 2020 档案
摘要:链接:Miku 思路简单,双向bfs,实现困难 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; const int maxn=100003; int f,an
阅读全文
摘要:链接:Miku hash?不不不,kmp走起 唯一的问题是最后要有一个dp来解决 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int n; const i
阅读全文
摘要:链接:Miku 大佬的证明 我的代码 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<map> using namespace std; char aim[1500001]; int
阅读全文
摘要:链接:Miku 一个map干过去 #include <map> #include <cstring> #include <cstdio> #include <cstdio> #include <algorithm> #include <iostream> using namespace std; s
阅读全文
摘要:链接:Miku #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const unsigned long long k=131,imp=1e7+1; unsig
阅读全文
摘要:过去了再回忆也不太对啊 没法按时间排了 首先,以一句我最印象深刻的话做结尾 青春不常在,抓紧谈恋爱 然后呢,作为体委,成天嘻嘻哈哈的是我的不对 这是因为初中过于懒散 没有好的学习习惯和不会喊口号等都是这个原因 对不起,同学们。 但是我既然在这里,我会努力的 七天让我充分意识到了我错过了多少,索性还有
阅读全文
摘要:链接:Miku 本题的关键就在于隐藏的单调性 开三个队列,分别放没切的,切出来的大的,切出来的小的。 #include<iostream> #include<cstdio> #include<queue> #include<algorithm> #include<cmath> const int m
阅读全文
摘要:链接:Miku、多组数据(蓝题和紫题的区别就是多组数据) 非常显然的贪心思路就是能放就放,放满了然后把下一次使用间隔最久的拿走、 但是这样会有一个问题,如果它已经进去了怎么办, 直接continue会wa掉,因为即使已经有了,我们还是应该更新一下下一个的值(易证) 那么该怎么办呢 if(pl[p[i
阅读全文
摘要:链接:Miku 链表存图,但是要注意创造出来个0和n+1号坑,这会方便我们后续处理的 贪心的部分就是选择最高的,然后把两边的去掉 等等,我反悔了咋办,我觉得选两边的更好!(这里有一个问题,要不都选,要不都不选,这是可以证明的) 那么我们就把两边和中间拼成一颗巨树,他的价值是两边之和-中间的(这样再选
阅读全文
摘要:链接:Miku 在做这个题之前我做了1168,所以该出来了个这 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; priority_queue <int,vecto
阅读全文
摘要:链接:Miku 对顶堆做法 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; priority_queue <int,vector<int>,greater<int
阅读全文
摘要:链接:Miku 一道巨大的模拟,因为每次都是从第一个开始干并且有顺序,那么就该用优先队列了 顺序问题只要重载一下运算符即可 CPU的任务如果干了一部分后被踢出去了,又轮到它的时候它会接着干而不是从头开始 #include<iostream> #include<cstdio> #include<alg
阅读全文
摘要:链接:Miku 显然在x>0的时候,函数都是随x增大而增大的 所以说嘛,优先队列就能搞出来 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; int n,m; in
阅读全文
摘要:神题啊,题面读不懂 但是难以置信的是暴力出奇迹(Ac)了 感谢大佬 链接:Miku 不等式,不存在的,我们只需要首先做出来一个价格表,统计一下从最小已知售价到最大已知售价后到销量为零后 的所有价钱--销量关系 然后从小到大暴力枚举所有可能的税收/补贴 过了??? 过了 注意,第四个点中有两个一样的最
阅读全文
摘要:链接:Miku 题目非常”简单“ 乍一看题,和和积积真讨厌 但是为什么要乘m^2呢 这时候我们拿起来了🖊,乘乘画画,一个答案呼之欲出 (看一下代码就懂了) #include<iostream> #include<cstdio> #include<algorithm> using namespace
阅读全文
摘要:链接:Miku 很水的博弈论(红的) 除了SG函数,我们可以枚举一下10以内的数奇数必败偶数必胜 那么对于10+的数,奇数只能拆成奇数(必败)+偶数(必胜),所以奇数必败 偶数同理 所以这个题就剩下判断奇偶性了 #include<iostream> #include<cstdio> using na
阅读全文
摘要:链接:Miku 看起来蛮简单的,就是一道模拟 求出1-l到1-r,减一下 数据范围?longlong走起 kkkk #include<iostream> #include<cstdio> using namespace std; int k,m; long long l,r; long long s
阅读全文
摘要:这就是一个博弈论 题目:Miku 这道题我们既可以找规律:如果N是三的倍数,C就赢了,并且我们也可以用SG函数 好,那么怎么用SG函数实现呢,首先确定边界。 如果当前人面前有0个石子,那么显然他输了对吧(最后一个一定被上个人拿走了) 那么SG[0]=0;(我用0表示当前人必败,1必胜0) 那么其他情
阅读全文