- 博客(29)
- 收藏
- 关注
原创 SnackDown 2017 Online Elimination Round 记录 & 简要题解
比赛用一句话总结一下这场比赛。。。好 tm 多原题啊。。。。和 wdz 远程双排,约好分别看奇数位置和偶数位置的题。。。开场点开 SPCLN。。发现是 TC 原题 + HNOI 原题。。。拖了个 Dinic 的板子抢了一血。。。感觉挺不错。。。wdz 那边出了一点点小事故。。。题目的顺序是按照 AC 人数动态排序的。。。然后他就交错题贡献了两发 RE(滑稽A 掉 SPCLN 后点开了 Four Po
2017-06-04 15:44:09 2400
原创 Codeforces 736D
题意给出一个 n×nn\times n 的 0-1方阵 MM,MM 中恰有 mm 个位置为 1,其它为 0。保证有:det(M)≡1mod2\det(M)\equiv 1\mod 2对 MM 中的每个 1,回答:把这个 1 修改为 0 后,det(M′)mod2\det(M')\mod 2 约定:n≤2000n\leq 2000,m≤min(n2,500000)m\leq min(n^2,5000
2017-04-06 10:10:30 1755
原创 BZOJ 3090: Coci2009 [podjela]
描述有 nn 个农民, 他们住在 nn 个不同的村子里,这 nn 个村子形成一棵树。每个农民初始时获得 X 的钱,每一次操作, 一个农民可以从它自己的钱中, 取出任意数量的钱, 交给某个相邻村子的农民。对于每个农民给定一个值 viv_i, 问最少需要多少次操作, 使得每个农民最终拿到的钱 >= 给定的值。 约定:n≤2000n\leq 2000, X≤105X\leq 10^5,一定有解。Sol(
2017-01-10 00:02:17 2239 1
原创 51nod 1226 构造质数
题意求 [L,R][L, R] 中有多少素数能写成 x4−y4x3+y3\frac{x^4-y^4}{x^3+y^3} 的形式。 约定:L,R≤1013L,R\leq 10^{13} 分析考虑把 xx 和 yy 的最大公约数提出来,设为 dd,把两数写为 dxdx 和 dydy ((x,y)=1(x,y)=1),设有素数 pp 满足条件,尝试化简原式,: p(x3+y3)=d(x4−y4)p(
2016-11-12 11:33:35 2046
原创 51nod 1260 排列与二叉树
题意考虑这样的二叉树:每个内部节点同时有左儿子和右儿子 恰好有 nn 个叶子 对任意满足上述条件的二叉树,我们按照中序遍历把每个叶子分别标上 11~nn,接下来,你可以任意交换每个内部节点的左右子树。之后,中序遍历这棵树,把每个叶子的标号按照访问到它的时间写下来形成一个 11~nn 的排列。 求所有这样的二叉树经过任意交换后可以得到的不同的排列的个数。 约定:n≤106n\leq 10
2016-11-11 20:26:41 1908
原创 51nod 最大公约数 & 最小公倍数
之前学习杜教筛的时候,把 φ\varphi 和 μ\mu 的前缀和两道题做过之后就没有再深入学习…NOI D1T3 看出来是杜教筛但是不会推只好做一个被唾弃的暴力选手…越来越觉得自己数论姿势太naive,所以补一补稍稍高端的知识。。。从刷经典题开始吧 前置技能(杜教筛)简介:我们记 f∘gf\circ g 表示数论函数 ff 和 gg 的 Dirchlet 卷积,下同。要计算 f(i)f(i) 的
2016-11-10 13:28:19 2208 2
翻译 五边形数定理的一种证明
很久以前就知道五边形数定理了……但是用它A过几道题,一直不知道怎么证明感觉很不痛快 QwQ……最近在wiki上找到一个简单优雅的证明方法……在网上并没有找到过中文的证明,所以把它粗略翻译一下,放在这里 QWQ描述五边形数定理是一个欧拉发现的数学定理,描述欧拉函数展开式的特性,欧拉函数展开式如下: ϕ(x) =∏n=1∞(1−xn)=∑k=−∞∞(−1)kxk(3k−1)2=1+∑k=1∞(−
2016-10-04 18:38:27 6333
原创 OI小记
明天要回家了,今天突然非常感慨,随便写点什么吧 感觉想说的话很多,却又不知道从何说起…….小学我不知道能不能讲自己的 OI 事业是从小学开始的 QwQ 小学五年级的时候因为一些原因,受了很严重的伤,不得已要在家里修养两年,刚好那时候爸妈 get 了一台他们用不着的三星的笔记本……大概是 2000 多元的上网本吧,在家里闲着没事干的时候,偶尔翻到一本书说“学习并精通C++也能成为一个优秀的黑客”…
2016-09-22 10:26:43 3297 2
原创 NOI 2016 游记
恩,套路一样的游记Day -n : 从清华回来以后浪得不行……自以为天下无敌……人要跳到天花板上了……真是惭愧…….. 准备打BZ模拟赛…….那时候还摩拳擦掌信心满满的……年轻真是好啊hhhhhh 然后BZ模拟赛就被虐得欲哭无泪了……发现自己真的很弱……开始迷 茫…… BZ还没打完就不得不跑兰州参加会考了……差不多能过吧……如
2016-07-28 01:01:16 6181 2
原创 [BZOJ 3691] 游行
http://www.lydsy.com/JudgeOnline/problem.php?id=3691Solution : 被这题折磨了好多天了。。。问了问学长。。。惊讶的发现wmd写过题解。。。。。。我。。。。。 首先我们跑一发floyd。。。算出任意两点最短路。。。于是我们可以假设路径不相交。。。然后。。。往最小点覆盖方向想一想。。。发现一个匹配模型。。。我每次询问都想把C加入图里强行算一
2016-07-12 09:35:50 1838
原创 [挖坑][CEOI] 论老年选手的自我修养
自从北京回来以后一直就在颓废……感觉刷题没动力比赛不想打……强行打起精神给自己开个坑…….觉得CEOI的题目质量挺好……于是就随便刷一刷吧……从2006年开始……这里就不放代码了……2006年的:BZOJ 1946 ,[Ceoi2006]ANTENNA:二分答案,则问题转化为判定性问题,由最优解的性质我们知道某些点一定在答案的圆上,枚举圆过哪一个点,然后想象这个圆在这个点上“转“,转的过程会经过
2016-06-12 11:31:29 1631
原创 THUSC 2016 行记
恩今天早上面试完刚回宾馆,觉得自己太傻了,于是花十几分钟记录一下自己的的这场逗比比赛。Day -1 : 提前一天飞来帝都,找了个小宾馆住着感觉不太舒服…热的快睡不着辣。 晚上买了些西瓜吃,好评。Day 0 :啊报到日中午去西郊宾馆看见高手云集谈笑风生 Orz….. 报道发了一件衣服除了背后一行字以外好评。爸妈带着换了个宾馆 QAQ 官方推荐的Sunhome…下水道不通…别问我发生了什么… 晚上在
2016-06-06 13:02:35 4351 4
原创 [51Nod算法马拉松14 F] 斐波那契树
官方题解用树上倍增做的…转移感觉超级厉害也超级麻烦我没有看懂 QAQ 所以来分享一下点分 + 矩阵的做法… 分治跟 SCOI 2016 D2T3 其实挺像的就不多说了 有什么细节问题可以看代码#include <stdio.h>#include <string.h>#include <stdlib.h>#include <bitset>#include <cmath>#include <c
2016-05-30 10:03:50 1888 3
原创 [BZOJ 3654] 图样图森破
Solution : 把每个串和它们的反转拉一起求一个后缀数组,然后枚举回文串的中心,往回文串两边尽可能添加串,这个过程可以记忆化,如果转移中发现了环说明长度可以无限大。吐槽:刚开始写的RMQ有点问题,怒改为暴力求lcp然后就A了…10s…..这题好 但是数据有待加强…….#include <cstdio>#include <cstring>#include <cstdlib>#includ
2016-05-30 09:56:40 1577
原创 [BZOJ 1146] [CTSC2008]网络管理Network
http://www.lydsy.com/JudgeOnline/problem.php?id=1146树巨结垢限时训练系列。 选择了 二分 树剖 线段树 Treap 的写法。 1小时写完 15分钟调好….. 感觉写的已经比较漂亮了,可以作为树上单点修改 K 大的一份模版#include <cstdio>#include <cstring>#include <cstdlib>#inclu
2016-05-21 11:07:51 1202
原创 [BZOJ 1396] 识别子串
http://www.lydsy.com/JudgeOnline/problem.php?id=1396Solution: 我得了“能用后缀数组就一定不用后缀自动机综合症”….感觉用height、rank、sa 处理字符串真的好优雅…. 虽然其他题上后缀数组常数比较大…不过这个后缀数组水了一发似乎就Rank1 了…开心 题解就是求出后缀数组以后维护一个单调队列来更新答案啦。。。#include
2016-05-14 21:07:06 1375
原创 [模版] 带部分重构的KD_Tree
RT , 从黄学长那里初步学习到写KD树的姿势后自己摸索着写了指针+替罪羊版的,效率还可以….能够忍受。BZOJ 4066 简单题#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#define rep(i, x, y) for (int i = (x), _ = (y); i <= _; ++i)
2016-04-24 15:27:19 1342 2
原创 [BZOJ 4513 ~ 4518] SDOI 2016 R1 day1 + day2 口胡题解
题面自己去看吧哈哈哈哈哈哈哈哈哈 这周一开始前前后后花了三天写完….还犯了一个又一个低级错误……我是思博呢Day 1 :T1,BZOJ 4513 储能表 简单可做的数位dp, 记录 f[ i ][0 / 1][0 / 1][0/ 1] 表示考虑到二进制第 i 位 (从高到低位) ,是否卡住 n 、 是否卡住 m 、是否把 k 减完的方案数和此时的和,随便转移转移就好辣。#include <cst
2016-04-16 21:02:00 1509
原创 [BZOJ 4425] [Nwerc2015]Assigning Workstations分配工作站
http://www.lydsy.com/JudgeOnline/problem.php?id=4425Solution :贪心,仔细想想就知道正确性啦; [用优先队列可以维护的东西我强行上了set…时间是人家的两倍……#include <cstdio>#include <cstring>#include <algorithm>#include <iterator>#include <se
2016-04-01 22:54:53 980
原创 [BZOJ 1592] [Usaco2008 Feb] 路面修整
Solution :数据范围小,平方算法是资瓷的,前缀和优化DP一发Code :#include <algorithm>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;inline void read(int &x){char c;while((c=getchar())<'0'||c>'9');f
2016-04-01 22:50:04 652
原创 [BZOJ 4439] [swerc 2015] Landscaping
Solution :比较经典的网络流构图了吧, 求一发最小割Code:#include <algorithm>#include <cstring>#include <cstdlib>#include <cstdio>using namespace std;typedef long long LL;inline void read(int &x){x=0;char c;while((c=ge
2016-04-01 22:46:13 2059
原创 [BZOJ 4430] [NWERC 2015] 赌骆驼
Solution: 考虑补集转换: 先令答案为 n * (n - 1), 然后3个序列两两求一次不符合条件的数字对,从ans里除去后就是答案的两倍; 为什么:我们初始时的ans 相当于把 每个数字对 计入两次, 考虑有数字对 i, j 不满足要求的话,它一定会被减去两次,于是得到的ans就是答案的二倍了; 不满足要求的数字对用树状数组统计,很方便的。Code :#include <algor
2016-04-01 22:43:08 990
原创 [BZOJ 4409] [Usaco2016 Feb]Circular barn
觉得应该正经的写一写做法了 TAT 不能总是玄学啊显然啊意会啊什么的。为了方便理解…我们不妨认为题意是给牛选k个集合点然后牛逆时针走到这k个点上。首先是破环成链,嘛,相信大家都会。然后这一步处理的手段和BZOJ 1096 有点儿像[虽然还没有写那道题], 我们令a[i]表示点i的牛数,sum[i] 表示牛数的前缀和,然后令 b[i] 表示 1 ~ n 的牛全部移动到1的代价。这样做以后有什么好处呢?
2016-03-07 21:31:47 1028
原创 [BZOJ 4412] [Usaco2016 Feb]Circular Barn
注意到“牛只能顺时针走“,所以贪心一定是对的。 把环复制成链,一遍扫找到最优位置,两遍扫算出答案。 没了#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;inline void read(int &x){x=0;char c;while((c=getc
2016-03-05 16:21:09 1350
原创 [BZOJ 1818] CQOI2010 内部白点
处理方式酷似上一题…简化版?hhhhhhhhh#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int N = 100010 ;inline void read(int &x){ char c; bool f = 0; wh
2016-03-05 15:23:29 839
原创 [BZOJ 1227] 虔诚的墓主人
题解:长这样的题好像都有固定套路…所有点按坐标排序、处理组合数,然后用树状数组维护奇怪的信息…….编不下去了 黄学长的题解AC Code:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;inline void read(int &x){x=0;char c;while((c=getchar())<
2016-03-05 14:50:52 565
原创 [51Nod 1224] 阶乘的幂的倍数
题解:注意到 f(i, k) 一定单调, 从小到大枚举每一个 i , 分解素数可以求出此时满足条件的最小的 N …… 看代码把 ಥ_ಥ …… 不会证明复杂度…. n 乘若干个 log ? hhhhhhhh#include<cstdio>#include<algorithm>using namespace std;typedef long long LL;const int mo = 1e9
2016-03-04 23:31:04 1602 2
原创 [BZOJ 1251] 序列终结者
http://www.lydsy.com/JudgeOnline/problem.php?id=1251裸splay,作为一个小小的模版…AC code :#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int inf = 0x3f3f3f3f ;const int N = 5002
2016-03-03 18:23:54 933
原创 [BZOJ 4380] POI 2015 Myjnie
网上搜不到题解…搞了两天才勉强跑过去…太弱…做法应该就是区间dp吧, 把所有询问的 c 值排序, 由大到小枚举每一个 c ,令 f[i][j]表示当前的区间 [i, j] 中能取到的最大值, 然后用一种神乎其神的方法状态转移和记录答案…具体可以看代码.AC code :#include<cstdio>#include<algorithm>using namespace std;typedef
2016-03-03 13:15:34 1261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人