摘要: 题目链接最短路裸题据说SPFA要T,用堆优dijkstra就好 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const long long int inf=10000000000000000; 7 stru... 阅读全文
posted @ 2016-01-22 16:27 HugeGun 阅读(444) 评论(0) 推荐(0)
摘要: 题目链接kruskal最小生成树,只不过在坐标系上 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #... 阅读全文
posted @ 2016-01-22 16:23 HugeGun 阅读(143) 评论(0) 推荐(0)
摘要: 题目链接二分答案+kruskal最小生成树判断二分费用,用满足费用要求的边来生成树,判断能否生成树 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10... 阅读全文
posted @ 2016-01-22 16:21 HugeGun 阅读(188) 评论(0) 推荐(0)
摘要: 题目链接裸kruskal算法 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 u... 阅读全文
posted @ 2016-01-22 16:18 HugeGun 阅读(180) 评论(0) 推荐(0)
摘要: 题目链接kruskal最小生成树将边排序枚举起点加边,求出生成树更新答案即可 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11... 阅读全文
posted @ 2016-01-22 16:15 HugeGun 阅读(175) 评论(0) 推荐(0)
摘要: 题目链接暴力搜吧。但是只需要枚举第一列的第一个数为0或1,剩下的数都能够根据第一个数来推出来!!! 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10... 阅读全文
posted @ 2016-01-22 15:55 HugeGun 阅读(130) 评论(0) 推荐(0)
摘要: 题目链接暴力DFS当然不行于是迭代加深吧。IDA* 1 #include 2 #include 3 #include 4 using namespace std; 5 int tt,k,flag; 6 int ans[5][5]= 7 { 8 {1,1,1,1,1}, 9 {0,1,1,1,1},1... 阅读全文
posted @ 2016-01-22 15:53 HugeGun 阅读(204) 评论(0) 推荐(0)
摘要: 题目链接斜率优化n^2的DP 1 #include 2 #include 3 using namespace std; 4 int yp() 5 { 6 int x=0,f=0;char ch=getchar(); 7 while(ch'9'){if(ch=='-')f=1;ch=g... 阅读全文
posted @ 2016-01-22 15:35 HugeGun 阅读(363) 评论(0) 推荐(0)
摘要: 题目链接背包两层背包(分组背包)一个处理一块板子内的情况一个处理整体的情况 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 ... 阅读全文
posted @ 2016-01-22 15:33 HugeGun 阅读(230) 评论(0) 推荐(0)
摘要: 题目链接一道比较简单的DP距离够则转移 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #includ... 阅读全文
posted @ 2016-01-22 15:30 HugeGun 阅读(212) 评论(0) 推荐(0)
摘要: 题目链接二分优化LIS字典序最小的方案不好求。于是就倒过来求以一个数开头的最长上升子序列。字典序小的放前面。输出时取最优就好。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #includ... 阅读全文
posted @ 2016-01-22 15:03 HugeGun 阅读(128) 评论(0) 推荐(0)
摘要: 题目链接二维树状数组优化DPDP状态很容易想到:dp[i][j]表示到第i颗玉米,用了j次提升,最多保留多少:转移: dp[i][j]=dp[k][j]+1(k 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ... 阅读全文
posted @ 2016-01-22 14:48 HugeGun 阅读(430) 评论(0) 推荐(0)
摘要: 题目链接有点打脑壳预处理每个点之后第一个相同颜色珠子出现的位置然后将询问按左端点排序!从左到右扫用树状数组维护前缀: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #... 阅读全文
posted @ 2016-01-22 14:41 HugeGun 阅读(220) 评论(1) 推荐(1)
摘要: 题目链接 单调队列优化 枚举起点找出每一种颜色在这个位置之后的第一个位置与这个位置距离的最大值。 再找出每一个起点结果的最小值。 阅读全文
posted @ 2016-01-22 14:35 HugeGun 阅读(175) 评论(0) 推荐(0)
摘要: 题目链接双倍经验题同:bzoj3038只不过本题须开long long 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #i... 阅读全文
posted @ 2016-01-22 14:30 HugeGun 阅读(160) 评论(0) 推荐(0)
摘要: 题目链接线段树裸题,但是由于是开平方根,所以只能暴力单点修改但是,光这么做会T,当单点值为0或1是就不会变了。于是可以给区间打上标记,有标记就不递归下去修改了。AC#include#include#include#include#include#include#include#include#inc... 阅读全文
posted @ 2016-01-22 14:28 HugeGun 阅读(478) 评论(0) 推荐(0)
摘要: 题目链接如果一栋楼房可见,那么它一定满足它的最高点到(0,0)的连线不与其他楼房相交。修改一个数只会对这个数后面的数造成影响。所以,需要修改、查询区间[1,n]比之前的任何一个数都大的数有多少个?转化一下就可以用线段树来维护了。修改的时候就分情况递归处理左侧即可。 1 #include 2 #inc... 阅读全文
posted @ 2016-01-22 14:24 HugeGun 阅读(281) 评论(0) 推荐(0)
摘要: 题目链接一道比较裸的线段树左右端点是年份,维护是否有空点、最大值即可 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #inc... 阅读全文
posted @ 2016-01-22 14:15 HugeGun 阅读(158) 评论(0) 推荐(0)
摘要: 题目链接机智的倒序操作+并查集离线处理 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #includ... 阅读全文
posted @ 2016-01-22 14:11 HugeGun 阅读(194) 评论(0) 推荐(0)
摘要: 题目链接其实就是二维树状数组模板。只不过要对每一种颜色开一个二维树状数组。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 ... 阅读全文
posted @ 2016-01-22 14:03 HugeGun 阅读(182) 评论(0) 推荐(0)
摘要: 题目链接 一道比较好写的树剖+线段树 只是查询的内容有点多而已 直接上代码 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<string> 5 #include<cstring> 6 #include<cm 阅读全文
posted @ 2016-01-22 13:58 HugeGun 阅读(183) 评论(0) 推荐(0)
摘要: 题目链接树上区间修改,用树链剖分+线段树只是这个题合并的时候不好有点坑,调了半天然后不知道为什么用现成的树剖求lca居然要T,改了倍增才过 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #incl... 阅读全文
posted @ 2016-01-22 13:54 HugeGun 阅读(170) 评论(0) 推荐(0)
摘要: 题目链接这个算是一眼题吧。。。贪心+treap优化(set也可做)先把牛和艹都排序,然后在满足每头牛的艹的种类里选一个价格最便宜的,然后delete。有一头牛找不到满足的艹就无解。set可做,写treap练手 1 #include 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2016-01-22 13:22 HugeGun 阅读(195) 评论(0) 推荐(0)
摘要: 题目链接一眼中位数,treap可做怎么维护呢?枚举O(n)个区间,区间和可以直接维护对吧,然后找区间中排名为(k+1)/2的数(中位数)。问题是怎么找小于中位数的数的和。这个可以在treap中维护子树和然后在找中位数时统计即可。有了区间和,那么大于中位数的数的和也能求,然后更新答案即可。手残没旋转T... 阅读全文
posted @ 2016-01-22 13:17 HugeGun 阅读(218) 评论(0) 推荐(0)
摘要: 题目链接 平衡树系列最后一题 坑啊 10s时间限制跑了9764ms。。。还是要学一学bit套主席树啦。。。 经典的线段树套treap。。。至于第一发为什么要TLE(我不会告诉你treap插入的时候忘了旋转 WOC) 自认为treap写的挺好看的(欢迎来喷) 1 #include<algorithm> 阅读全文
posted @ 2016-01-22 13:02 HugeGun 阅读(480) 评论(0) 推荐(0)
摘要: 题目链接 做数据结构体搜到了这道题 然而轩神告诉我这题应该用CDQ分治(smg 不会) 于是我用了树状数组套treap 首先考虑如果只有两维:第一维可以排序,然后第二维用树状数组$log_2(n)$插入、查询; 那么有三维的话就在树状数组的每个点上挂一颗treap,插入和查询就是$log^2_2(n 阅读全文
posted @ 2016-01-22 12:53 HugeGun 阅读(784) 评论(0) 推荐(0)