01 2017 档案

摘要:非递归的DFS写炸了… 交了一个递归版的 过了………..//By SiriusRen#include #include #include using namespace std;const int N=1000050;int n,nn,q,xx,yy,stk[N],in[N],o... 阅读全文
posted @ 2017-01-31 12:58 SiriusRen 阅读(174) 评论(0) 推荐(0)
摘要:思路: 按照从大到小排个序 维护两个数组 一个是消元后的 另一个是 按照消元的位置排的 不断 维护从大到小 (呃具体见代码)//By SiriusRen#include #include #include using namespace std;#define int lon... 阅读全文
posted @ 2017-01-30 18:07 SiriusRen 阅读(130) 评论(0) 推荐(0)
摘要:思路: 排个序 消元 完事~但是! 坑爹精度毁我人生我hhhh他一脸红红火火恍恍惚惚//By SiriusRen#include #include #include using namespace std;#define double long doubleconst int N=... 阅读全文
posted @ 2017-01-30 16:11 SiriusRen 阅读(130) 评论(0) 推荐(0)
摘要:思路: 先把所有能加上的水泥路都加上 判断哪些是必加的鹅卵石路再重新做一遍最小生成树 加上必加的鹅卵石路 一直加鹅卵石路 判一下是不是=k 最后加上水泥路就好了//By SiriusRen#include using namespace std;const int N=10... 阅读全文
posted @ 2017-01-30 11:27 SiriusRen 阅读(216) 评论(0) 推荐(0)
摘要:思路: 一条边免费的概率为 (经过它的路/总路径条数)^2 DFS即可有个地方没有用 long long炸了好久…//By SiriusRen#include using namespace std;const int N=20050;int n,m,xx,yy,first[N],... 阅读全文
posted @ 2017-01-29 22:07 SiriusRen 阅读(106) 评论(0) 推荐(0)
摘要:思路: http://blog.csdn.net/lych_cys/article/details/50763073 lych的题解…… 写得很详细//By SiriusRen#include #include #include using namespace std;#defi... 阅读全文
posted @ 2017-01-29 21:21 SiriusRen 阅读(151) 评论(0) 推荐(0)
摘要:题意: 思路: //By SiriusRen#include #include #include using namespace std;int n,m,q;char map[505][505],ans[600005];struct Node{int x1,y1,x2,y2,i... 阅读全文
posted @ 2017-01-26 22:08 SiriusRen 阅读(298) 评论(0) 推荐(0)
摘要:题意: 思路: 先把所有的值加起来 最小割割哪儿 就代表那个地方不选 一减 剩下的就是 最大值了//By SiriusRen#include #include #include using namespace std;const int N=105,M=10005,K=... 阅读全文
posted @ 2017-01-26 19:33 SiriusRen 阅读(295) 评论(0) 推荐(0)
摘要:题意: 思路: //By SiriusRen#include #include #include using namespace std;#define mem(x,y) memset(x,y,sizeof(x))const int N=20005,M=880005;int fi... 阅读全文
posted @ 2017-01-26 16:35 SiriusRen 阅读(121) 评论(0) 推荐(0)
摘要:思路: 这道题思路好奇怪…….我们先要知道关于x (x可以是间隙) 对称的有几对字母 显然暴力是n^2的 那怎么办呢先把所有’a’看成1 ‘b’看成0意外的发现 这不就是卷积嘛再倒过来搞一搞 加一下2^x-1就是包含连续的回文串的解了然后 跑个manacher 把包含的删掉就好... 阅读全文
posted @ 2017-01-26 14:47 SiriusRen 阅读(161) 评论(0) 推荐(0)
摘要:思路: 此题显然是CDQ套CDQ套树套树 (然而我懒) 想用一种奇怪的姿势卡过去就出现了以下解法5w*5w/8的bitset hiahiahia 但是空间会爆怎么办啊… 折半~ 变成5w*2.5w/8完美卡过去 时间会慢很多么 并没有~~完全可以过... 阅读全文
posted @ 2017-01-25 00:36 SiriusRen 阅读(187) 评论(0) 推荐(0)
摘要:思路: 题目中给的是差值一定的那么就把b数组倒一下 不就变成 i+j=k(k为定值的了嘛) 嗯 然后搞个FFT//By SiriusRen#include #include using namespace std;typedef complex cplxd;const int N=... 阅读全文
posted @ 2017-01-25 00:30 SiriusRen 阅读(171) 评论(0) 推荐(0)
摘要:思路: http://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html 其实我是懒得写了....一定要define int long long……(否则不知道自己怎么死的别怪我..)有用C++写好的虚数 的版本 (是... 阅读全文
posted @ 2017-01-25 00:27 SiriusRen 阅读(168) 评论(0) 推荐(0)
摘要:思路:FFT板子题//By SiriusRen#include #include using namespace std;typedef complex cplxd;const int N =133333;const double pi=3.1415926535897932;int... 阅读全文
posted @ 2017-01-24 22:19 SiriusRen 阅读(110) 评论(0) 推荐(0)
摘要:在树的路径上选取一些点 使得这些点权xor后的结果最大 思路: 时限60s 59696ms卡过去了哈哈哈//By SiriusRen#include #include #include using namespace std;typedef long long ll;con... 阅读全文
posted @ 2017-01-22 23:14 SiriusRen 阅读(150) 评论(0) 推荐(0)
摘要:思路: 这题思路好鬼畜啊…… 绝对是神思路//By SiriusRen#include #include using namespace std;const int N=100050,M=1000050;int n,m,first[N],next[M],v[M],tot=1,vi... 阅读全文
posted @ 2017-01-22 21:30 SiriusRen 阅读(176) 评论(0) 推荐(0)
摘要:思路: //By SiriusRen#include #include #include using namespace std;const int inf=0x7fffffff,mod=10086;int n,a[100050],q,flag=1,rec[66],ans;void... 阅读全文
posted @ 2017-01-22 18:40 SiriusRen 阅读(154) 评论(0) 推荐(0)
摘要:补码: 负数 ~x+1 正数一样> & ! ~ 运算符… 取某位: (x>>pos)&1 将某些位置为1 x|(1>1]+(i&1) 分段 分成16位 如果内存很小怎么办…… (并没有听懂..)求1的个数的奇偶性 把它拆成两个16位 xor一下 再拆成两个8位 xor一... 阅读全文
posted @ 2017-01-20 11:32 SiriusRen 阅读(126) 评论(0) 推荐(0)
摘要:思路: 扫一遍height 判一下即可//By SiriusRen#include #include #include using namespace std;#define N 200050int n,cntA[N],cntB[N],A[N],B[N],tsa[N],sa[N],... 阅读全文
posted @ 2017-01-19 08:44 SiriusRen 阅读(85) 评论(0) 推荐(0)
摘要:思路: 二分一哈答案 height分个块//By SiriusRen#include #include #include using namespace std;#define N 100050int n,s[N],cntA[N],cntB[N],A[N],B[N],tsa[N]... 阅读全文
posted @ 2017-01-19 08:28 SiriusRen 阅读(145) 评论(0) 推荐(0)
摘要:思路: 最大独立集嘛 用nlogn的Dinic做//By SiriusRen#include #include #include #include using namespace std;#define N 888888int n,re[205][205],cnt,first[4... 阅读全文
posted @ 2017-01-19 07:53 SiriusRen 阅读(143) 评论(0) 推荐(0)
摘要:思路: 抄一波yousiki的… 显然,暴力求解的复杂度是无法承受的。 考虑这样的一种暴力,我们把 z 到根上的点全部打标记,对于 l 到 r 之间的点,向上搜索到第一个有标记的点求出它的深度统计答案。观察到,深度其实就是上面有几个已标记了的点(包括自身)。所以,我们不妨把 ... 阅读全文
posted @ 2017-01-19 07:51 SiriusRen 阅读(201) 评论(0) 推荐(0)
摘要:思路: 李超线段树 我是把线段转成斜率的形式搞得 不知道有没有更简单的方法//By SiriusRen#include #include #include #include using namespace std;int mod1=39989,mod2=1000000000;#d... 阅读全文
posted @ 2017-01-18 09:11 SiriusRen 阅读(215) 评论(0) 推荐(0)
摘要:思路: 李超线段树裸题//By SiriusRen#include #include #include #include using namespace std;#define N 100050int n,t;char op[10];struct Tree{double s,p;}... 阅读全文
posted @ 2017-01-18 09:06 SiriusRen 阅读(159) 评论(0) 推荐(0)
摘要:思路: 论文题……*n 倒过来接上 分奇偶讨论 求LCP 搞棵线段树即可//By SiriusRen#include #include #include using namespace std;#define N 5555int cases,pos,maxans,n,cntA[... 阅读全文
posted @ 2017-01-15 23:27 SiriusRen 阅读(203) 评论(0) 推荐(0)
摘要:思路: 论文题*n Σn-i-ht[i]+1 就是结果 O(n)搞定~//By SiriusRen#include #include #include using namespace std;#define N 55555int cases,n,cntA[N],cntB[N],A[... 阅读全文
posted @ 2017-01-15 23:24 SiriusRen 阅读(85) 评论(0) 推荐(0)
摘要:思路: 论文题 后缀数组&RMQ有一些题解写得很繁//By SiriusRen#include #include #include #include using namespace std;#define N 100050int n,cases,cntA[N],cntB[N],A[... 阅读全文
posted @ 2017-01-15 23:19 SiriusRen 阅读(186) 评论(0) 推荐(0)
摘要:思路: 论文题… 二分+对后缀分组这块一开始不用基数排序 会更快的(其实区别不大)//By SiriusRen#include #include #include using namespace std;#define N 20050int n,k,s[N],cntA[N],cnt... 阅读全文
posted @ 2017-01-15 23:17 SiriusRen 阅读(139) 评论(0) 推荐(0)
摘要:思路: 后缀数组论文题 对后缀分组//By SiriusRen#include #include #include using namespace std;#define N 20005int n,s[N],cntA[N],cntB[N],A[N],B[N],rk[N],sa[N]... 阅读全文
posted @ 2017-01-15 23:02 SiriusRen 阅读(124) 评论(0) 推荐(0)
摘要:思路: 后缀数组 第一次写 留个模板吧先求出后缀数组,问题转换为询问height数组中连续k-1个数的最小值的最大值,单调队列扫描一遍即可。—yousiki手懒用得STL//By SiriusRen#include #include #include #include using ... 阅读全文
posted @ 2017-01-15 22:49 SiriusRen 阅读(115) 评论(0) 推荐(0)
摘要:思路: 1.找次大值 我们不妨设当前点是次大的 那这段区间为 左边第二个比它大的点的坐标+1 和右边第二个比它大的点的坐标-1 2.用可持久化trie树找异或最大值也可以用莫队//By SiriusRen#include #include #include using na... 阅读全文
posted @ 2017-01-13 08:53 SiriusRen 阅读(150) 评论(0) 推荐(0)
摘要:思路: 可持久化trie树裸题 x->y 就是x +y -lca(x,y) -fa[lca(x,y)] 学了可持久化线段树 再看这个就无压力了注意是多组数据……//By SiriusRen#include #include #include using namespace std... 阅读全文
posted @ 2017-01-12 23:35 SiriusRen 阅读(203) 评论(0) 推荐(0)
摘要:思路: http://blog.sina.com.cn/s/blog_6d5aa19a0100o73m.html//By SiriusRen#include #include #include using namespace std;#define N 20005int n,k,x... 阅读全文
posted @ 2017-01-12 17:59 SiriusRen 阅读(118) 评论(0) 推荐(0)
摘要:思路: 点分治//By SiriusRen#include #include #include using namespace std;#define N 10005int n,k,xx,yy,first[N],next[N*2],v[N*2],w[N*2],tot;int f[N... 阅读全文
posted @ 2017-01-12 17:57 SiriusRen 阅读(173) 评论(0) 推荐(0)
摘要:思路: 搞一个前缀异或和一次从左往右 另一次从右往左 异或最大值用字典树搞一搞//By SiriusRen#include #include #include using namespace std;#define N 400500int n,a[N],cnt=1,ch[N*20]... 阅读全文
posted @ 2017-01-12 17:54 SiriusRen 阅读(131) 评论(0) 推荐(0)
摘要:思路: 偷懒用的STL//By SiriusRen#include #include using namespace std;struct Node{int id,w;}jy;dequeqmin,qmax;int n,k,xx,t,ans;int main(){ scanf... 阅读全文
posted @ 2017-01-12 17:51 SiriusRen 阅读(133) 评论(0) 推荐(0)
摘要:思路: 最大费用最大流 i->i+1 连边k 费用0 i->i+m (大于n的时候就连到汇) 连边1 费用a[i]//By SiriusRen#include #include #include #include using namespace std;#define N 100... 阅读全文
posted @ 2017-01-12 17:48 SiriusRen 阅读(130) 评论(0) 推荐(0)
摘要:思路: 考虑离线处理 显然 l固定时 r越大 ans越大 那我们不妨按照l从小到大排序l->l+1的时候 l到next[l]这段区间都跟a[l]取min就好了搞颗线段树维护一下//By SiriusRen#include #include #include using names... 阅读全文
posted @ 2017-01-12 17:46 SiriusRen 阅读(201) 评论(0) 推荐(0)
摘要:思路: 主席树 做完BZOJ 3123 觉得这是道水啊…… 然后狂RE 狂MLE 要来数据 忘把deep[1]设成1了…………………………. 啊wocccccccccccccccc//By SiriusRen#include #include #include using nam... 阅读全文
posted @ 2017-01-12 17:44 SiriusRen 阅读(140) 评论(0) 推荐(0)
摘要:思路: T的最小公倍数是12 那么12以内暴力 整除12 的部分用矩阵快速幂//By SiriusRen#include #include #include using namespace std;int n,m,st,ed,k,nfish,T,p[5],can[13][55];s... 阅读全文
posted @ 2017-01-11 11:28 SiriusRen 阅读(176) 评论(0) 推荐(0)
摘要:思路: 同BZOJ1101 就是加个容斥 … http://blog.csdn.net/qq_31785871/article/details/54340241//By SiriusRen#include #include using namespace std;#define N... 阅读全文
posted @ 2017-01-11 08:38 SiriusRen 阅读(125) 评论(0) 推荐(0)
摘要:思路: 题目中的gcd(x,y)=d (x=k(注意是大于等于K) 这个很好求啊 就是(a/k)*(b/k)G(x,y)=P1*F(a,b,1)+P2*F(a,b,2)+P3*F(a,b,3)+….+Px*F(a,b,x)Ans=G(x,y)=ΣPx*(a/x)*(b/x)这不就... 阅读全文
posted @ 2017-01-11 08:12 SiriusRen 阅读(204) 评论(0) 推荐(0)
摘要:思路: 同BZOJ 2005 http://blog.csdn.net/qq_31785871/article/details/54314774//By SiriusRen#include #include using namespace std;#define int long ... 阅读全文
posted @ 2017-01-10 23:09 SiriusRen 阅读(132) 评论(0) 推荐(0)
摘要:思路: 偷懒 懒得离散化 搞了个动态开节点的线段树 (其实是一样的……..)注意会有a=b的情况 要判掉//By SiriusRen#include #include #include using namespace std;int n,xx,yy,zz,root,cnt,... 阅读全文
posted @ 2017-01-10 22:44 SiriusRen 阅读(262) 评论(0) 推荐(0)
摘要:思路:题目让求的是 Σgcd(i,j) (iusing namespace std;#define int long longint f[100050],ans;signed main(){ int n,m,mx; scanf("%lld%lld",&n,&m),mx=... 阅读全文
posted @ 2017-01-10 15:56 SiriusRen 阅读(173) 评论(0) 推荐(0)
摘要:思路: 递推出来欧拉函数 搞个前缀和 sum[n-1]*2+3就是答案 假设仪仗队是从零开始的 视线能看见的地方就是gcd(x,y)=1的地方 倒过来一样 刨掉(1,1) 就是ans*2+1 再加一下第零行第零列的两个 就是结果了//By SiriusRen#include us... 阅读全文
posted @ 2017-01-10 15:27 SiriusRen 阅读(146) 评论(0) 推荐(0)
摘要:思路: 线性递推欧拉函数 搞个前缀和sum 枚举当前的素数p Σsum[n/p]*2-1就是解了 (-1 是因为(1,1)被算了两次)注意某些地方用long long//By SiriusRen#include using namespace std;#define N ... 阅读全文
posted @ 2017-01-10 15:08 SiriusRen 阅读(115) 评论(0) 推荐(0)
摘要:思路: 主席树 搞树上的k大 x+y-lca(x,y)-fa(lca(x,y)) 按照size小树往大树上插 启发式合并 n*log^2n的 搞定~//By SiriusRen#include #include #include using namespace std;#def... 阅读全文
posted @ 2017-01-10 15:06 SiriusRen 阅读(206) 评论(0) 推荐(0)
摘要:思路:ax+b cx+d 构造矩阵+矩阵快速幂 (需要加各种特判,,,,我好像加少了… )//By SiriusRen#include #include #include using namespace std;#define int long longconst int mod... 阅读全文
posted @ 2017-01-10 15:03 SiriusRen 阅读(140) 评论(0) 推荐(0)
摘要:思路: 先算一下每条边经过次数的期望 转化为每个点经过次数的期望 边的期望=端点的期望/度数 统计一下度数 然后高斯消元 贪心附边权…….//By SiriusRen#include #include #include #include using namespace std;#... 阅读全文
posted @ 2017-01-10 15:00 SiriusRen 阅读(130) 评论(0) 推荐(0)
摘要:思路:http://blog.csdn.net/wzq_QwQ/article/details/47152909(代码也是抄的他的) 自己写得垃圾线段树怎么都过不了隔了两个月 再写 再挂又隔了10天 再写 终于A了………………………..//By SiriusRen#incl... 阅读全文
posted @ 2017-01-10 14:52 SiriusRen 阅读(315) 评论(0) 推荐(0)
摘要:思路: 同BZOJ 1221//By SiriusRen#include #include #include #include using namespace std;#define mem(x,y) memset(x,y,sizeof(x))#define N 666666#de... 阅读全文
posted @ 2017-01-09 14:15 SiriusRen 阅读(106) 评论(0) 推荐(0)
摘要:思路: 外围一个权值线段树 里面是个区间线段树 搞一个标记永久化//By SiriusRen#include #include #include using namespace std;#define N 100050#define int long longint n,m,op,... 阅读全文
posted @ 2017-01-09 10:04 SiriusRen 阅读(198) 评论(0) 推荐(0)
摘要:为什么题解都是离线的…… (抄都没法抄) 搞一棵主席树 1 操作 新树上的当前节点设成1 2 操作 查max(i-xx-1,0)那棵树上这条路径上有多少个点是1 让你找经过了多少个点 查的时候用deep 搞出来就好了//By SiriusRen#include #... 阅读全文
posted @ 2017-01-07 16:31 SiriusRen 阅读(251) 评论(0) 推荐(0)
摘要:思路: 按权值建一棵主席树 (但是这好像不是正解 空间复杂度是不对的…….)//By SiriusRen#include #include #include using namespace std;#define N 555555int n,m,cnt,root[N],a[N... 阅读全文
posted @ 2017-01-07 10:59 SiriusRen 阅读(171) 评论(0) 推荐(0)
摘要:思路: 先随便选个点 链剖+线段树 1操作 就直接改root变量的值 2操作 线段树上改 3操作 分成三种情况 1.new root = xx 整个子树的min就是ans 2. lca(new root,xx) !=xx query 一下 当前的标号 和当前的标号+size... 阅读全文
posted @ 2017-01-06 14:18 SiriusRen 阅读(191) 评论(0) 推荐(0)
摘要:思路: 1.DP f[i][j]表示第i个月的月底 还剩j的容量 转移还是相对比较好想的……f[i][j+1]=min(f[i][j+1],f[i][j]+d[i]);if(j>=u[i+1])f[i+1][j-u[i+1]]=min(f[i+1][j-u[i+1]],f[i][j... 阅读全文
posted @ 2017-01-06 10:11 SiriusRen 阅读(159) 评论(0) 推荐(0)
摘要:思路: http://blog.csdn.net/commonc/article/details/52291822 (照着算法步骤写……) 已知三点共圆 求圆心的时候 就设一下圆心坐标(x,y) 解个方程就好了//By SiriusRen#include #include #inc... 阅读全文
posted @ 2017-01-06 08:52 SiriusRen 阅读(150) 评论(0) 推荐(0)
摘要:思路: 神建图源->饮料 边权为1 牛拆点 两个点之间的边权为1 饮料->左牛 边权为1 右牛->食品 边权为1 食品->汇边权为1//By SiriusRen#include #include #include #include using namespace std;const... 阅读全文
posted @ 2017-01-05 18:01 SiriusRen 阅读(157) 评论(0) 推荐(0)
摘要:NB的题目背景 输入输出一样考试的时候貌似只有gzz一个人搞出来了 %gzz思路: 分情况讨论 add(x,y,C,E) C是费用 E是流量 1. f>c add(x,y,2,inf),add(y,x,0,f-c),add(y,x,1,c),ans+=f-c; 2. 否则add(... 阅读全文
posted @ 2017-01-05 17:56 SiriusRen 阅读(183) 评论(0) 推荐(0)
摘要:思路: 不被题目忽悠就是思路 二分一下max 判一下等不等于最大流 搞定7 9 1 1 2 3 1 3 3 2 3 3 3 4 2 3 5 2 3 6 1 4 7 2 5 7 2 6 7 2这里有组Bob是小数的例子//By SiriusRen#include #include ... 阅读全文
posted @ 2017-01-05 16:19 SiriusRen 阅读(112) 评论(0) 推荐(0)
摘要:思路: (我能说按照题意模拟么)用long long inf 要开大…….//By SiriusRen#include #include #include #include using namespace std;#define int long long#define N 10... 阅读全文
posted @ 2017-01-04 16:19 SiriusRen 阅读(155) 评论(0) 推荐(0)
摘要:vis[0]没有清零查一年…//By SiriusRen#include #include #include using namespace std;#define N 55555#define M 3666666int n,m,xx,yy,first[N],vis[N],nxt[... 阅读全文
posted @ 2017-01-04 15:17 SiriusRen 阅读(140) 评论(0) 推荐(0)
摘要:思路: 题意:有n的边, S到第一个点连 最后一个点到T连 那么很明显n*oo-最小割就是答案。。 但是如果有了限制条件xu的边,使得方案合法。。from http://www.cnblogs.com/yzcstc/p/4062097.html//By Siriu... 阅读全文
posted @ 2017-01-04 10:15 SiriusRen 阅读(203) 评论(0) 推荐(0)
摘要:思路: 把每个方块拆成两个点 1个入点 1个出点 当前格子的入->出连费用-w[i][j] 容量1的边 当前格子的入->出连费用0 容量k-1的边 此格子的出向右&下(如果有的话)的格子的入连费用0容量k的边//By SiriusRen#include #include #incl... 阅读全文
posted @ 2017-01-03 17:52 SiriusRen 阅读(113) 评论(0) 推荐(0)
摘要:思路: 最大: 所有线性基异或一下 次大: 最大的异或一下最小的线性基 搞定~//By SiriusRen#include #include using namespace std;int n,flag=1,ans,a[100050];int main(){ scanf("%... 阅读全文
posted @ 2017-01-03 16:26 SiriusRen 阅读(170) 评论(0) 推荐(0)
摘要:思路: 先搞出来所有的环的抑或值 随便求一条1~n的路径异或和 gauss消元找异或和最大 贪心取max即可//By SiriusRen#include #include #include using namespace std;#define N 200050#define in... 阅读全文
posted @ 2017-01-03 16:07 SiriusRen 阅读(104) 评论(0) 推荐(0)
摘要:思路: 高斯消元就好啦 注意每个格子最多只能和4个相邻 所以是 n*m*n*m*5 的 并不会TLE//By SiriusRen#include #include #include using namespace std;int n,m,a[44][44],xx[]={0,0,1... 阅读全文
posted @ 2017-01-03 14:14 SiriusRen 阅读(109) 评论(0) 推荐(0)
摘要:思路: 区间翻转的裸题 终于tm理解splay了……//By SiriusRen#include #include #include using namespace std;#define N 155555int n,m,root,size[N],ch[N][2],fa[N],r... 阅读全文
posted @ 2017-01-03 10:29 SiriusRen 阅读(122) 评论(0) 推荐(0)
摘要:思路: splay维护序列的裸题 啊woc调了一天 感谢yzy大佬的模板……//By SiriusRen#include #include #include using namespace std;#define N 55555#define inf 0x3f3f3f3fint n... 阅读全文
posted @ 2017-01-03 10:05 SiriusRen 阅读(123) 评论(0) 推荐(0)
摘要:思路: 考虑时光倒流 这不就是并查集裸题了…………….//By SiriusRen#include #include #include using namespace std;#define N 500500int n,q,xx,yy,v[N],first[N],next[N],t... 阅读全文
posted @ 2017-01-02 14:56 SiriusRen 阅读(93) 评论(0) 推荐(0)
摘要:记得当年省选的时候 这道题连暴力都没写对(尴尬ing) (当年天真的认为sort是左闭右闭的hhhhhh) 思路: 首先 二分答案线段树 首先二分答案,然后需要知道进行m次排序后p位置上的数字是否大于mid。 对于一个mid,我们可以把序列里的数字分为两类,即大于mid的数... 阅读全文
posted @ 2017-01-02 11:47 SiriusRen 阅读(99) 评论(0) 推荐(0)
摘要:Treap://By SiriusRen#include #include using namespace std;int size,n,xx,root,ans,tmp;struct Treap{int ch[2],v,cnt,rnd,sz;}tr[500050];void Upd... 阅读全文
posted @ 2017-01-02 09:24 SiriusRen 阅读(200) 评论(0) 推荐(0)
摘要:思路: 当然是抄的黄学长的题解啦//By SiriusRen#include #include using namespace std;#define N 500005int n,m,rt,R,top,id[N],mx[N],pos[N];double a[N];char ch[1... 阅读全文
posted @ 2017-01-02 09:07 SiriusRen 阅读(107) 评论(0) 推荐(0)
摘要:思路: 先预处理出来组合数 按位做 枚举sum[x]是多少注意Mod不是一个质数//By SiriusRen#include using namespace std;#define int long longint n,top,w[66],C[66][66],ans=1,cnt... 阅读全文
posted @ 2017-01-01 15:42 SiriusRen 阅读(121) 评论(0) 推荐(0)