
STL
jzq233jzq
这个作者很懒,什么都没留下…
展开
-
暴力+map——Codeforces831C Jury Marks
题面:cf831c 简要题意:给出k个数a[i],给出n个b[i],每个b[i]值为a[1]+a[2]+…+a[不知道位置]+某一未知初始值(每种情况初始值是一样的),求可能的初始值有多少n<=2000n<=2000,直接暴力即可 我们枚举b[1]这个值出现的位置在哪里,然后往左往右一一匹配,如果每个b[i]都出现过了说明这个初始值是合法的,判断去重后答案加1 时间复杂度O(n2)O(n^2)原创 2017-07-14 08:12:32 · 502 阅读 · 0 评论 -
平衡树(STL)——Luogu2073 送花
题面:Luogu2073 有意思,上一篇博客采来的花都送掉了2333 这题做法太多啦hhh 对于这种用码量来征服的题目,我的决定是: Standard Template Library! 像这种乱七八糟的操作,平衡树随便搞搞,set也能 我们开结构体set,以价格为关键字 插入的时候开个数组记录一下该价格有没有放过 弹出的时候记得更新一下这个数组,都清清空(我被坑到了QAQ) 最小原创 2017-06-27 22:39:14 · 352 阅读 · 0 评论 -
欧拉路+STL——Luogu1333 瑞瑞的木棍
题面:Luogu1333 欧拉路的裸题。。。 很良心的没让你求路径,只让你判断是否能一笔画 那么直接dfs灌水一发记录每个点的度就好了 恶心就恶心在字符串。。。 没想过啥hash和trie,懒所以写了个std::map 发现T了 后来zhzh神犇教我了一种特技! C++11标准里有一个unordered_map,基本操作和map差不多 只不过map的维护方式是平衡树,所以里面的元素原创 2017-06-13 14:25:49 · 351 阅读 · 0 评论 -
并查集+map——BZOJ4195/Luogu1955 [Noi2015]程序自动分析
题面:BZOJ4195 Luogu1955 由于这个区间范围挺大的,但是点不多,所以考虑离散化 离散化之后呢就直接并查集就好了 等于的直接合并,不等于的判断是否在同一连通块里 要注意的是要所有合并完之后才能判断不等于的情况 离散化用的std::map#include <cstdio>#include <cstring>#include <algorithm>#include <cma原创 2017-06-07 16:16:44 · 284 阅读 · 0 评论 -
贪心——Luogu2255 [USACO14JAN]记录奥林比克
题面:Luogu2255 显然是一个贪心嘛。。。慢慢分析摄像机台数=1这种情况,在当前时间我们只要找开始时间大于等于当前时间,结束时间尽量小的节目,这样才能留出更多时间拍后面的节目,所以排个序找一下就好了摄像机台数=2这种情况嘛。。。上面那个贪心就不对了,反例可以自己找一个(很好想的) 但是按照这个思想是可以的,我们其实可以找当前空闲的摄像机拍是吧 有几种情况:两台摄像机都在拍摄其他节目,这原创 2017-06-01 15:22:01 · 400 阅读 · 0 评论 -
字符串hash+map——BZOJ2081/Luogu3498 [Poi2010]Beads
http://www.lydsy.com/JudgeOnline/problem.php?id=2081 https://www.luogu.org/problem/show?pid=3498 一题字符串hash 一开始因为各种原因导致我TLE和WA等等。。。。。 发现基数base会有各种问题,注意一下就好了 我的方法是hash+map映射,所以long long自然溢出不影响结果 所以原创 2017-03-16 15:41:43 · 484 阅读 · 0 评论 -
单调栈+STL——51nod1952 栈
题面:51nod1952 首先数据范围是1e7,复杂度上界肯定是O(n)O(n) 所以我们可以直接往单调栈(或者也可能是队列)这个方面想 然而这个东西要资瓷两端插入,一端弹出,这貌似是个双端单调栈 我一开始的想法是,维护一个单调递减的栈,如果从后面插入,那就从后面插入维护单调性,如果从前面插入,那就与栈底判断是否要插进去,答案就是栈底啦。。。 然而这样有一个很大的Bug,就是弹出的时候就G原创 2017-09-12 23:14:13 · 997 阅读 · 0 评论 -
异或——LibreOJ6087 毒瘤题/LibreOJ6232 毒瘤题加强版
题面:loj6087 我是不会告诉你SW_Wind(就是那个小江)是我同学嘿嘿嘿。。。 然而题好像是一个叫做SHENZHEBEI的dalao(也是我同学)出的。。。 首先xor有个性质,一个数被xor两次之后等于0 所以k=1的情况就很好搞了,直接一个一个xor过去最后剩下的就是答案了 那么k=2怎么做呢?首先我们还是一个一个xor过来,设为p。我们可以发现p=数1 xor 数2(就那两个原创 2017-08-19 17:06:23 · 999 阅读 · 0 评论