----STL:map/set/rope/bitset
文章平均质量分 82
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj4841 平衡的子集
夏令营有N个人,每个人的力气为M(i)。请大家从这N个人中选出若干人,如果这些人可以分成两组且两组力气之和完全相等,则称为一个合法的选法,问有多少种合法的选法? 这道题我们拷打数据范围后知道应该是折半搜索了 但是似乎不是那么好做 我们考虑如何搜索,显然每个人有三种状态,在队伍1中,在队伍2中和没有被选入 我们将所有可能的状态都搜索出来加入一个数据结构(按照队伍1-队伍2的力量之差p作为关键原创 2017-10-30 17:00:08 · 325 阅读 · 0 评论 -
Jzoj5462【NOIP2017提高A组冲刺11.8】证书
Pulumi生活在P城的角落,而他的朋友们gjdy,oyski,tutuwai等等生活在P城的靠中心位置。 P城很大,但它拥有优秀的城市结构,同时P城重视文化教育的发展,P城共有n个学校,校与校之间共建立了n-1条交通线路,且两所学校之间存在唯一的连通路径。 P城常常举行各种类型的评比活动,为了节约资金,最终将给某一条路径上的所有学校颁发证书。为了便于描述我们记一次评比活动的结果为(ui,vi原创 2017-11-08 15:56:42 · 961 阅读 · 0 评论 -
Jzoj4922 环
小A有一个环,环上有n个正整数。他有特殊的能力,能将环切成k段,每段包含一个或者多个数字。对于一个切分方案,小A将以如下方式计算优美程度: 首先对于每一段,求出他们的数字和。然后对于每段的和,求出他们的最大公约数,即为优美程度。 他想通过合理地使用他的特殊能力,使得切分方案的优美程度最大。 对于100%的数据,n 令s=Σai那么显然,优美程度必然为s的因数 这样我们可以枚举s的所有原创 2017-11-14 21:20:26 · 283 阅读 · 0 评论 -
Jzoj5230 队伍统计
现在有n个人要排成一列,编号为1->n 。但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面。要使得队伍和谐,最多不能违背k条矛盾关系(即不能有超过k条矛盾关系(u,v),满足最后v排在了u前面)。问有多少合法的排列。答案对10^9+7取模。 对应100%的数据,n,k 发现数据很小,可以用状压dp 我们设f[原创 2017-11-15 21:20:06 · 318 阅读 · 0 评论 -
Jzoj4384 Hashit
你有一个字符串S,最开始为空,要求支持两种操作 在S后面加入字符c 删除S最后一个字符 每次操作询问S有多少个两两不同子串 应该本来应该用SAM+Trie离线做的,然而为了练一下后缀平衡树就写了 其实也很好写,用哈希比较一下就好了,可以用set实现,开一个数组存每个后缀对应的节点就好 求height也可以用哈希 #pragma GCC opitmize("O3") #pragma原创 2017-12-10 13:15:51 · 495 阅读 · 0 评论 -
Jzoj3486 道路改建
人称不死将军的林登·万,与他的兄弟林登·图两人的足迹踏遍了地球的每一寸土地。他们曾将战火燃遍了世界。即使是lifei888这样的强悍人物也从来没有将他彻底击败。 这一次,林登·万在N个城市做好了暴动的策划。然而,在起事的前一天,将军得知计划已经泄漏,决定更改计划,集中力量掌握一部分城市。 具体来说,有M条单向边连接着这N座城市。对于两座城市A,B,如果它们能够通过单向边直接或间接的互相到达,那原创 2017-12-03 20:32:02 · 280 阅读 · 0 评论 -
Jzoj5542 董先生的钦点
这道题在我做的前一天被wjw大佬压中了,当时随便脑洞了一个做法 于是在比赛还剩3分钟的时候我把它写了一下就切了 考虑一个集合S,f(S)=ΣSi 显然我们将所有的f排序之后有一个性质rank[f(S)]+rank[f(~S)]=2^N 那么显然,中位数就是将全集划分为两个尽可能平均的集合的较大一部分 我们考虑dp,f[i]=max(f[i-v[j]]+v[j]) ,答案即为f[S/2]原创 2018-01-24 17:27:49 · 630 阅读 · 1 评论