bzoj4127.cc

#include #include #include #include using namespace std; const int buf_len = 45678; char buf[buf_len], *bufb(buf), *bufe(buf + 1); #define readBuf() { if (++ bufb == bufe) bufe = (bufb = buf) + fread(buf, 1, sizeof(buf), stdin); } #define readInt(x) { register int s(0), neg(0); while (!isdigit(*bufb)) { if (*bufb == ‘-’) neg = 1; readBuf(); } do { s = s * 10 + *bufb - 48; readBuf(); } while (isdigit(*bufb)); if (neg) x = -s; else x = s; }...

June 10, 2015 · 5 min · laekov

bzoj4004.cc

#include #include #include using namespace std; #define _l (long long int) const int maxn = 503; const int hmod = 1111111121; int n, m, a[maxn][maxn], b[maxn][maxn], rb[maxn][maxn], c[maxn], o[maxn]; int t, s; inline bool cCmp(const int& a, const int& b) { return c[a] < c[b]; } void pr() { for (int i = 0; i < t; ++ i, putchar(10)) for (int j = 0; j < m; ++ j) fprintf(stderr, “%5d”, b[i][j]); }...

June 9, 2015 · 2 min · laekov

bzoj4004 [JLOI2015]装备购买

比较郁闷的题ovo拍了老久.最后还是找Po神要来了数据. 首先这个矩阵的基就是一个拟阵,所以可以贪心. 然后发现就是要O(n^2)判断是否线性无关. 其他人的做法是强行顺序.我觉得没辣么麻烦啊.先把原来消出来的东西备份一下.如果发现不行再备份回来就好了啊ovoovo 那么直接高消会有非常严重的精度问题(似乎是). 于是我想直接用整数搞.然后发现会有变成负数的问题和越界的问题,强行re+wa.非常不开心. 于是直接取模yeah.然后由于用了辗转相除之类的东西所以常数巨大.而且bzoj上开了O2比本机没开O2竟然慢了6倍.ovoovo

June 9, 2015 · 1 min · laekov

hdu5267.cc

#include #include #include using namespace std; typedef long long dint; #ifdef WIN32 #define lld “%I64d” #else #define lld “%lld” #endif #define _l (long long int) struct edge { int t; edge *ne; }; struct seg { int l, r, rv, s; seg *ch[2]; }; const int maxn = 10003; const int maxl = 17; int n, m, a[maxn], ca[maxn]; int dv[maxn], sz[maxl][maxn], dfb[maxl][maxn], dfe[maxl][maxn], dsr[maxl][maxn], df[maxn]; int cp[maxn], cv[maxn], cb[maxn]; dint ans[maxn], cans; dint tp[maxn], xpc[maxn]; int tvis, vis[maxn]; edge ebuf_arr[maxn « 1], *ebuf, *head[maxn]; seg sbuf_arr[maxn * maxl * 3], *sbuf, *rt[maxn];...

June 7, 2015 · 5 min · laekov

hdu5267 pog loves szh IV

bc fst爽翻.然后这题差二十分钟没调出来不然我就是rank1.还是应该直接敲而不是去和队友商量. 静态做的话直接按位树分就好了.然后资瓷修改的时候也是一样.只是把之前求的信息在树分后的dfs序上用线段树记下来.也就是要随时知道某个分治层里的某个子树上有多少个0或者1. 然后就是讨论某个修改对当前答案的贡献.要注意分治根的值,以及有贡献的是哪些位置.中间打错了外层的dfs序范围,导致调试了很久.明明想清楚了但是打错了,不应该的. 只有完了之后交了然后怒虐标程好开心啊.

June 7, 2015 · 1 min · laekov

bzoj4123.cc

#include #include #include using namespace std; const int maxn = 1000003; int n, l, a[maxn], b[maxn], s; int q[maxn], hd, tl; int main() { #ifdef LAEKOV_LOCAL freopen(".in", “r”, stdin); #endif scanf("%d", &n); for (int i = 1; i <= n; ++ i) scanf("%d", a + i); for (int i = n + 1; i <= n * 2; ++ i) a[i] = a[i - n]; a[0] = 0; for (int i = 1; i <= n * 2; ++ i) a[i] += a[i - 1]; l = (n + 1) >> 1; for (int i = 1; i + l - 1 <= n * 2; ++ i) b[i] = a[i + l - 1] - a[i - 1]; s = 0; hd = tl = 0; for (int i = 1; i + l - 1 <= n * 2; ++ i) { while (hd < tl && b[q[tl - 1]] >= b[i]) -- tl; q[tl ++] = i; while (hd < tl && q[hd] + l <= i) ++ hd; if (i >= l) s = max(s, b[q[hd]]); } printf("%d\n", s); }

June 4, 2015 · 1 min · laekov

bzoj4123 [Baltic2015]Hacker

还比较有意思的一题. 考虑如果Alice选了某一个位置,那么Bob的策略一定是选使得Alice的和最小的一段.也就是对于所有位置,求包含它的所有区间中和最小的一个,再求个max. 这个东西先要展开一倍,然后可以比较方便地用单调队列搞定.

June 4, 2015 · 1 min · laekov

20150422 plan before noi

听说要写一个计划ovo.然后计划没有变化快. 首先我们来一张日历. SunMonTueWedThuFriSat 04.2204.2304.24 04.2504.2604.2704.2804.2904.3005.01 05.0205.0305.04ctsc day105.0505.06ctsc day205.0705.08 05.09apio05.1005.1105.1205.1305.1405.15 05.1605.1705.1805.1905.2005.2105.22 05.2305.2405.2505.2605.2705.28rshc 205.29 05.3005.3106.0106.0206.0306.0406.05 06.0606.0706.0806.0906.1006.1106.12 06.1306.1406.1506.1606.1706.1806.19 06.2006.2106.2206.2306.2406.2506.26 06.2706.2806.2906.3007.0107.0207.03 07.0407.0507.0607.0707.0807.0907.10 07.1107.1207.1307.1407.15noi 主要的事情有,五月上旬的apio和ctsc.五月中旬的zjoi.六月下旬的hn多校.七月noi集训.以及八月noi. 四月大概木有多少时间了.apio之前就去浪一浪bzoj上前几年的原题吧.熟悉一下风格顺便受一下虐.然后顺便去把别的省的今年的省选题做一做. 五月第一个星期就去ctsc和apio了.每天水一水题就好了.然后准备好被zhx各种奇怪的问题问趴下.另外要利用这个时间把弱省胡策的题搞定. 然后回来就是11号了.然后大概马上又要去zj.这种零碎的时间啥的比较郁闷,就多刷一些题吧.大概还会有胡策.有时间就多看看.学习一下各省的神牛牛牛牛们都在看什么题. 回来之后五月就只剩下一个星期了.先复习一会ds.去把toptree学了然后把sone1写了.(大概一个星期写不完?)心里的痛啊. 5月31号这一周以及六月第一周去把noi原题填一些.重点做一些图论题和dp题.这回省选就是坑在这的.然后也要补习一些论文. 6月13号这一周要会考.还是要多腾一些时间来复习一下政治和通用技术.不能不过关那就麻烦了.然后这个时候大概团抗的东西也出来了.可以看看.不能再像上次thu的aicraft那样郁闷了. 会考完大概就直奔湖南了. 然后回来就是noi集训.大概会比较累.赛前就是没事刷刷题来放松心情吧.然后还要给cdqz夏令营出题ovo.七月这个坑先放这吧.主要是用来查漏补缺. 然后八月就愉快地去noi喽. upd@20150511 计划果然没有变化快.noi提前到了七月份,于是duang的一声时间变紧了.所幸之前没有给七月份安排什么很具体的事情. 5月出去第一次之前的事情大概都解决了.但是没有坚持每天一道bzoj.感觉懒癌已经无药可治了.当然在外面没有好用的键盘也是一个问题.不过主要还得怪自己. 发现自己的数学还是比较弱的.决定这周把矩阵论看了.反正也懒癌是吧您就多看看书吧. 夏令营的题我觉得已经差不多了就差别人的部分了晕.然后要政治会考了也要抽一点时间把前两天错过的复习课看一下.然后也要准备一下简历和自荐信.下定决定用tex搞所以要先做一个好看一点的板出来. 6月似乎又要去趟帝都了.之前觉得有坑的地方似乎都在被填ing好开心. upd@20150513 计划永远没有变化快.因为zjoi在余姚所以愉快地放弃了TT 那这几天就闲着没事干喽.明天就动手去填sone1! 多出来的时间把mhy开的坑填掉!就这么愉快地决定了! upd@20150603 考跪了一场thusc让我心情异常好.然后发现之前填Sone1的雄心淹没在了代码里. 发现自己有些地方有漏洞啊.然后发现六月远没有想像中的那么充实. 听zhx一句,vjudge上的题看来还是有用的,所以最近抽出些时间把题看一遍.不用全写,挑一些就好了. 然后去学习一下单纯型.

June 4, 2015 · 1 min · laekov

20150315 first footprint

此页已被hack

June 3, 2015 · 1 min · laekov

20150601

thusc最终还是完了.mark一下吧. 昨天考了一场很糟熇的试.于是心情很差. 今天去面试的时候有一点紧张,出来的时候没有起身看坐.大概是自己太naive了吧. 于是结果就是那么不好喽. 协议的意思大概是,如果noi前50就点,如果51到100就降一本,否则降60分.嗯,听上去也不算差是吧? 总之给我提了一个醒,如果不努力的话就被淘汰了.不能再颓了. 要登机了ovo //hackedby laekov粉丝团帮厨: laekov姥爷好强啊OvO

June 2, 2015 · 1 min · laekov