![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pb_ds
Spy97
这个作者很懒,什么都没留下…
展开
-
pb_ds
pb_ds库包括:优先队列平衡二叉树Hash 准则:需要合并时用pairing_heap_tag 使用时需要的库: #include <ext/pb_ds/assoc_container.hpp>#include <ext/pb_ds/tree_policy.hpp>#include <ext/pb_ds/hash_poli...原创 2018-08-02 20:11:27 · 978 阅读 · 0 评论 -
2018 ICPC 南京网络赛 skr
题意:给出一个字符串,求它的所有回文子串转化成数字的和,对1e9+7取模。题解:先上Manacher,然后枚举每个点,按照半径从大到小的顺序枚举回文串,遇到出现过的就break,统计答案即可。注意的是,判重时只能用pb_ds中的gp_hash_table,unordered_map会T,同时需要两个字符串hash关键子,一个会WA。Manacher+暴力枚举回文串+pb...原创 2018-09-04 09:40:56 · 438 阅读 · 0 评论 -
2018 ICPC 青岛网络赛 Couleur
题意:给出一个长度为n的序列,每次将某个子序列分成两段,输出所有段中逆序对最大的数目。题解:假设从x位置断开,找到x最左边的断点l,和最右边的断点r,那么就是把区间(l,r)分解为(l,x)和(x,r),如何维护两段的逆序对个数呢?启发式分解假设断点更靠近r,我们暴力求解出(x,r)的逆序对个数,再求解出(l,x)和(x,r)中两段各有一个数的逆序对的个数,也就是有交叉的逆...原创 2018-09-17 19:17:14 · 554 阅读 · 0 评论 -
ZOJ 4102 浙江省第16届大学生程序设计竞赛 C题 Array in the Pocket
题意给nnn个数,重新排列,要求每一个位置,新序列和原序列不能相同,字典序最小题解要求字典序最小,所以肯定是从前向后去填数对于每一个位置,一次从小到大枚举可以选择的数,如果填之后,后面的依旧有解,那么就确定这个位置要填的数,否则继续枚举关键在于判断后面是否有解假设原序列中从当前位置开始到结束的构成aaa;还剩下的可选的数为序列bbb例如:4,1,3,24 ,1, 3, ...原创 2019-05-02 10:36:19 · 409 阅读 · 0 评论 -
2019杭电多校第一场 HDU 6599
#include<bits/stdc++.h>#define N 300010#define M N<<0#define INF 0x3f3f3f3f#define eps 1e-10// #define pi 3.141592653589793#define mod 998244353#define P 1000000007#define LL long ...原创 2019-07-25 11:51:49 · 267 阅读 · 0 评论