- 博客(22)
- 收藏
- 关注
原创 【半平面交】poj2540 Hotter Colder
写了三天的半平面交总觉得自己姿势有问题。。#include #include #include #include #define eps 1e-8using namespace std;struct Point { double x, y; Point(double _x = 0. , double _y = 0. ) : x(_x), y(
2015-04-16 22:56:46 639
原创 【并查集分块】Codeforces 475D CGCDSSQ
题目点这里bin神说这题和他当年出的一道题差不多TAT听了半天终于听懂了TAT。。。利用gcd的递减性 从左往右把一段的gcd和最新的数相同的的放到一个并查集里去。。可以证明段数是不会增加的 = =#include #include #include using namespace std;const int Nmax = 1e5 + 5;int
2015-04-16 22:41:12 879
原创 【线段树】Codeforces 437B The Child and Set
题目点这里vfk大大讲过的 = = 记录一个最大值然后暴力搞就行了。。。最开始WA了一次是因为Modify没更改最大值。。#include #include #include using namespace std;const int Nmax = 1e5 + 5;int N, M;int a[Nmax];#define lc (u << 1)#
2015-04-16 22:38:39 639
原创 【树形dp】Codeforces 238C World Eater Brothers
题目点这里嗯。。。其实就直接dfs就可以了。。。就是先枚举一条边砍掉 = =然后呢先计算 u 和 v 的答案。。然后再dfs一遍修正答案。。。。。#include #include using namespace std;const int Nmax = 3e3 + 5;int N;struct ed{ int u, v, w, next
2015-04-16 22:33:03 842
原创 【贪心】Codeforces 353E Antichain
题目点这里窝也不知道这叫不叫贪心 = =窝想说这题看题面是裸的二分图匹配Hungray敲上去。。然后您就TLE了。。。。实际上这题是有线性算法的。。因为它是个环。。那么就只能是 → ← → ← 这样的情况才行 = =那么连续的一段→ → →就可以直接合并了。。。然后直接计算!#include #include #include u
2015-04-16 22:26:38 875
原创 【二分图匹配】Codeforces 387D George and Interesting Graph
不想写模板了来水几篇题解。。。题目点这里最开始窝写的贪心。。然后就WA了。。 = =正解是二分图匹配。。。首先枚举中心点。。然后用需要添加的边加上需要删除的边求个最小值就是答案了。。。设与Center相关的边数为A需要添加的边 = (2 * N -1 - A) + (N - 1 - match)需要删除的边 = (M - A) - match
2015-04-16 22:17:26 626
原创 【省选模板】
【数学】- 快速幂/快速乘int Pow(int a, int b, int Mod){ int temp = 1, cmp = a; while (b) { if (b & 1) temp = temp * cmp % Mod; b >>= 1; cmp = cmp * cmp % Mod; } ret
2015-04-15 19:59:03 611
原创 【线段树】line
。。水题。。。#include #include using namespace std;int read(){ int n = 0, sign = 1; char c = getchar(); while(c '9') {if(c == '-') sign = -1; c = getchar(); } while(c >= '0' && c <= '9') { n
2015-04-10 18:45:34 476
原创 【AC自动机】西征罗马之路
水题再没有爱了。。。#include #include #include using namespace std;int read(){ int n = 0, sign = 1; char c = getchar(); while(c '9') {if(c == '-') sign = -1; c = getchar(); } while(c >= '0'
2015-04-10 18:43:13 756 3
原创 【计数】tower
看了题解完全觉得是sb题。。。那么 = =作为一个sb题都做不来的。。。设dp[i] 为前i 个的方案数,那么枚举所有能在上面放i 的积木j,就会对答案带来dp[i - 1]的贡献。#include #include #include using namespace std;int read(){ int n = 0, sign = 1; char c = ge
2015-04-10 18:36:56 521
原创 【区间dp】括号序列再战猪猪侠
ydc的题解是只需要两维状态 = =可是。。。可是我必须写三维才能AC TATall表示区间[L, R]是(A) 还是 AB。。为了O(1)判断处理一个二维数组的前缀和。。还有这个鬼要特判 u == v的情况#include #include #include using namespace std;int read(){ int n = 0, sign = 1
2015-04-10 18:27:53 725
原创 【双Treap】[Scoi2014] bzoj3595 方伯伯的Oj
题目点这里 原来的题解点这里 。。Treap+Map写的。。。。。然后听说scoi的评测鸡很傲娇。。。。当场是卡了map的。。。。所以我就重新写了双Treap。。。一个维护编号一个维护排名。。。。。。叫bzoj比map慢了几十ms = =因为有-O2?rank3是的评测结果 rank4和rank5目测都是直接交的我的代码吧 = =||||然后rank6就是这份代
2015-04-10 12:07:46 1412
原创 【主席树】poj2104 K-th Number && poj2761 Feed the dogs
这两道题。。似乎是一样的。。。 = =(我才不会说其实最开始是想交2104结果交城2761结果还Accept了。。。)就是个主席树模板题。。静态区间第k大。。其实用整体二分写的话更方便的。。不过无所谓了。。。反正学学高端的CMT嘛……其实思路和整体二分也差不多的啊QAQ离散化一下然后用权值建线段树。。就是从前往后依次把树加入线段树 每次加入的时候新建这条链上的节点。
2015-04-09 18:51:42 601
原创 【好饿】 = =
真的很饿可是不想起床。。。一下午居然又过去了。。写了一半的数位dp没力气写下去了要从床上爬起来洗澡然后下去买东西吃。。。想想就好累啊。。再有三天就回四川了。。。。依旧像之前那样。。每次都以为一个月时间自己能提高很多呢。。。其实想想感觉过来以后基本没学什么。。。好久没写平衡树了。。。还有费用流什么的。。。考了这么多次试写的最多的还是dfs。。。。每天最多交一题
2015-04-08 18:48:40 1445 2
原创 【动态规划】【双调TSP与MTSP问题】 hdu2224 & hdu4281
一个月前写的了。。。。首先双调TSP:hdu2224给出平面上的N个点(1~N) 从 1 号点出发走到最右端的点 N 再返回 1 要求中途不能重复走某个点而且必须把所有点全走一遍 求最小的总路径这个东西不是NPC 算导上有介绍O(N ^ 2)的算法。dp[ i ][ j ]来表示从 1 到 i 以及从 1 到 j 的最小总路径 (i 转移:①当 i ②
2015-04-08 18:26:20 1870
原创 【差分约束】[SCOI2011] bzoj2330 糖果
题目点这里lxhgww的水题 。。 = =像我这种现在只会写水题的人。。。在求一个点的最长路时:dis[u] + e[i].w dis[v] - dis[u] >= e[i].w那么这里把没个小朋友看做一个点然后根据不等式求每个点的最长路就好了没写特判自环就4000多ms也是醉了。。。反正特别这种东西谁爱写谁写吧 = =#include "
2015-04-08 16:23:54 477
原创 【整体二分】[ZJOI 2013] bzoj3110 K大数查询
题目点这里树套树题解点这里调完这个。。一晚上居然就又过去了。。。TAT先说下效率 我的树套树是283136 kb 7556 ms(永久化标记的)分治是3148 kb 1296 ms_(:з)∠)_代码长度的话。。两个都差不多T_____T思路:整体二分这玩意。。和cdq分治挺像的样子。。从我的理解来说。。。cdq分治是用[l, mid]更新[mid
2015-04-06 21:54:49 4536 8
原创 【cdq分治】[Noi2007] bzoj1492 货币兑换Cash
题目点这里嗯。。倒腾了这么久终于折腾出来了。。对cdq有一点感觉了T_T当然。。还是很多不懂 = =在雅礼写cdq写不出来的感觉实在是。。。。首先这题有一个贪心 就是每天的买卖一定是100% 这样才能保证收益最大然后设x[i]表示第i天最多拥有A劵的数量 y[i]表示第i天最多拥有B劵的数量 f[i]表示第i天把劵全卖出去获得的最大金钱数那么 f[i
2015-04-04 15:30:54 726
原创 【最大流】攻略世界树!
【描述】有四种定位,队长,战士,牧师,法爷。一个标准的小队应当拥有这四种人至少每种各一个。目前总共有h个队长(Hero), w个战士(Warrior), c个牧师(Claric), m个法爷(Mage)。允许最多有nw个小队没有战士,nc个小队没有牧师,nm个小队没有法爷。如果一个小队没有牧师,那么这个小队至少要有战士和法爷。同一个小队里的战士必须和队长合得来,牧师必须和战士合
2015-04-03 16:29:45 701
原创 【多重背包】二进制优化 && 单调队列优化 && w == v 的特殊情况的处理
为了弥补之前没有好好学的背包 = = 花了一下午来研究这个神奇的东西。。。当时觉得背包九讲好多东西根本看不懂啊各种跪啊其实现在看来也还好啊 = =唉。。当初真的太水了(PS:我依旧还是没觉得noip2014D1T3是个背包)其实其他的都没什么好说的。。01背包和完全背包就是枚举顺序问题 分组背包和依赖背包其实都可以看成是泛化物品 当然多重背包其实也是……不过多重背包因为
2015-04-02 18:20:10 877
原创 【01背包】Uvalive4015 Caves && Uvalive3637 The Bookcase
我要相信LA已经挂掉了不管是我的代码还是网上的AC代码交上去全是WA WA WA!!!so。。我也不知道我写的到底能不能过。。。以后找时间交吧。。QAQ两道01背包。。当时学背包就没好好学T_T于是…………Uvalive4015 Caves题意:(不吐槽lrj那个语死早的翻译了)就是一个人要在树上走。。他可以在树上随意走动 然后有一些
2015-04-01 18:36:42 761
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人