02 2015 档案

摘要:博弈论 贾志豪论文上的题目……题解请看论文 Orz了一下Hzwer 1 Source Code 2 Problem: 3710 User: sdfzyhy 3 Memory: 716K Time: 0MS 4 Language: G++ Result: ... 阅读全文
posted @ 2015-02-28 17:14 Tunix 阅读(243) 评论(0) 推荐(0)
摘要:博弈论 一开始想成S-Nim了……后来发现不一样= =石子是一定得取的,但是这个铺条纹就像Crosses and Crosses一样,是可以铺到中间,左右留下空隙但是对手无处可放的…… 所以就是两道题的方法结合一下咯~ 1 /*********************************... 阅读全文
posted @ 2015-02-28 15:43 Tunix 阅读(148) 评论(0) 推荐(0)
摘要:博弈论 相当于放了x的位置,左右4格都不能再放x了,谁无处可放就输。 nx..0000 / .x..000 / ..x..00 / 0..x..0 / 00..x.. 记忆化搜索写挂了……还是顺序DP靠谱= =(跟S-Nim类似的写法,暴力求SG函数) 1 Source Code 2 Prob... 阅读全文
posted @ 2015-02-28 11:55 Tunix 阅读(479) 评论(0) 推荐(0)
摘要:博弈论/DP 这是Nim?这不是巴什博奕的变形吗…… 我也不会捉啊,不过一看最多只有20个人,每人最多拿16个石子,总共只有8196-1个石子,范围好像挺小的,嗯目测暴力可做。 so,记忆化搜索直接水过去了…… 出口应该很好判断:当前只有一个石子的时候输,石子数10 #include... 阅读全文
posted @ 2015-02-28 10:20 Tunix 阅读(202) 评论(0) 推荐(0)
摘要:博弈论 这题跟 BZOJ 1874 取石子游戏 差不多 先暴力求出10000以内的SG函数(利用定义来求即可) 然后每次询问直接将SG值异或起来即可…… 1 Source Code 2 Problem: 2960 User: sdfzyhy 3 Memory: 444K ... 阅读全文
posted @ 2015-02-27 22:09 Tunix 阅读(211) 评论(0) 推荐(0)
摘要:博弈论 我哭……思路错误WA了6次?(好像还有手抖点错……) 本题是要求Nim游戏的第一步必胜策略有几种。 一开始我想:先全部异或起来得到ans,从每个比ans大的堆里取走ans个即可,答案如此累计……WA! 第二次:ans与每个a[i]取&,如果不为0即有一种方案……WA! 第三次:an... 阅读全文
posted @ 2015-02-27 21:23 Tunix 阅读(387) 评论(0) 推荐(0)
摘要:博弈论 Orz ZYF 从前往后递推……反正最大才10^6,完全可以暴力预处理每个数的状态是必胜还是必败(反正才两个后继状态),然后O(1)查询……我是SB 1 /************************************************************** 2 ... 阅读全文
posted @ 2015-02-27 18:24 Tunix 阅读(324) 评论(0) 推荐(0)
摘要:博弈论/高斯消元 如果没有打开箱子这个操作,那么就是一个很裸的Nim游戏…… 但是有了打开箱子这个操作,就变得蛋疼了T_T 首先我们可以想到一种直接的做法:打开所有箱子,当然如果此时所有a[i]的xor和==0则胜…… 但明显这样连样例也过不了╮(╯▽╰)╭ 那么我们可以想一下,对于一组全... 阅读全文
posted @ 2015-02-27 16:12 Tunix 阅读(389) 评论(0) 推荐(0)
摘要:博弈论 这个题……一看就觉得很捉急啊= =肿么办? 灵光一现:差分一下~ 那么我们看一下差分以后,从第 i 堆中拿走 k 个石子变成了:a[i]-=k; a[i+1]+=k; 嗯这就转化成了阶梯博弈! 只不过是倒着的阶梯……从n到0……(sigh之前是从1到n,WA掉了……SB了一下) 1... 阅读全文
posted @ 2015-02-27 12:10 Tunix 阅读(177) 评论(0) 推荐(0)
摘要:首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面放...如何来分析这个问题... 阅读全文
posted @ 2015-02-27 12:09 Tunix 阅读(199) 评论(0) 推荐(0)
摘要:博弈论 这能算博弈论吗…… orz ZYF so sad……窝智商太低题解搬运: 当n为偶数时,可以被2*1的骨牌完全覆盖,所以每次都走骨牌的另一端,而另一个人只能走新的骨牌,直到没有为止 当n为奇数时,去掉第一个格子后可以被2*1的骨牌完全覆盖,所以胜负反过来了QAQ智商捉急想不到啊... 阅读全文
posted @ 2015-02-27 11:41 Tunix 阅读(166) 评论(0) 推荐(0)
摘要:博弈论 一看题,哇这不是Nim游戏么= =直接异或起来……啊咧怎么不对? 这道题是【Anti-Nim】,普通的Nim是取走最后一个就赢,这题是取走最后一个输…… 做法参见 2009年贾志豪论文《组合游戏略述——浅谈SG游戏的若干拓展及变形》 1 /*********************... 阅读全文
posted @ 2015-02-27 11:33 Tunix 阅读(394) 评论(0) 推荐(0)
摘要:概率DP/数学期望/状压DP/容斥原理 kuangbin总结中的第14题 好神奇的做法……题解看kuangbin的代码好了…… 1 //HDOJ 4336 2 #include 3 #define rep(i,n) for(int i=0;i=n;--i) 6 const int N=22; 7... 阅读全文
posted @ 2015-02-27 11:09 Tunix 阅读(166) 评论(0) 推荐(0)
摘要:概率DP kuangbin总结中的第10题 简单的画个比赛图,会发现是一颗完全二叉树,且同一层的子树之间各自独立,只有在合并得到更高一层结果时才结合。 所以我们可以按比赛轮数进行DP,f[i][j]表示第 i 轮之后第 j 个球队没有被淘汰的概率,仔细一想可以发现:首先这支球队得在第 i-1 ... 阅读全文
posted @ 2015-02-26 22:28 Tunix 阅读(151) 评论(0) 推荐(0)
摘要:概率DP kuangbin总结中的第9题 啊……题目给的数据只有白鼠和黑鼠的数量,所以我们只能在这个上面做(gao)文(D)章(P)了…… 明显可以用两种老鼠的数量来作为状态= = 我的WA做法: 令f[i][j]表示从(w,b)轮流取老鼠一直到(i,j)【此时轮process取】两人... 阅读全文
posted @ 2015-02-26 18:54 Tunix 阅读(174) 评论(0) 推荐(0)
摘要:概率DP kuangbin总结中的第8题 一开始题目看错导致想转移方程想错了……想成f[i][j]表示前 i 个队伍中最多的做出来 j 道题的概率……sigh 看了下题解……其实是对于每个队伍 i 单独考虑做出来 j 道题的概率!!最后再根据情况将t个队伍合并起来……WA:又忘了POJ上dou... 阅读全文
posted @ 2015-02-26 17:18 Tunix 阅读(199) 评论(0) 推荐(0)
摘要:概率DP kuangbin总结中的第5题题解copy:HDU 4098题意:有n个人排队等着在官网上激活游戏。Tomato排在第m个。对于队列中的第一个人。有一下情况:1、激活失败,留在队列中等待下一次激活(概率为p1)2、失去连接,出队列,然后排在队列的最后(概率为p2)3、激活成功,离开队列(... 阅读全文
posted @ 2015-02-26 16:18 Tunix 阅读(210) 评论(0) 推荐(0)
摘要:概率DP/数学期望 kuangbin总结中的第7题 其实跟UVA 11762 Race To 1 那道题差不多……直接推下公式,然后倒推即可Trick:有的点可能是p1[i][j]==1……这样的点是永远不会走出去的……所以也不能走到……遇到这样的点直接跳过就好了TAT 但是!!浮点数不能... 阅读全文
posted @ 2015-02-26 12:05 Tunix 阅读(228) 评论(0) 推荐(1)
摘要:概率DP/数学期望 kuangbin总结中的第4题 啊还是求期望嘛……(话说Aeroplane chess这个翻译怎么有种chinglish的赶脚……) 好像有点感觉了…… 首先不考虑直飞的情况: f[i]表示从第 i 格到end的期望掷骰子次数,那明显就是从f[i+1]~f[i+6]... 阅读全文
posted @ 2015-02-26 10:12 Tunix 阅读(299) 评论(0) 推荐(0)
摘要:概率DP/数学期望 kuangbin总结题目中的第三道 看来还是没有进入状态啊……都说是DP了……当然是要找【状态之间的转移关系】了…… 本题中dp[i]跟 dp[i-(k1+k2+k3)] 到dp[i-1]都有关系……然后所有的dp[i]都跟dp[0]即ans有关…… 用【系数】进行转移…... 阅读全文
posted @ 2015-02-26 09:13 Tunix 阅读(247) 评论(0) 推荐(0)
摘要:概率DP/数学期望 kuangbin总结中的第二题 大概题意:有n个子系统,s种bug,每次找出一个bug,这个bug属于第 i 个子系统的概率为1/n,是第 j 种bug的概率是1/s,问在每个子系统中至少找出一个bug,且每种bug都找到过,总共需要找到bug的总数的期望值(我擦我这破烂语文... 阅读全文
posted @ 2015-02-25 23:02 Tunix 阅读(208) 评论(0) 推荐(0)
摘要:概率论 神题不会捉啊……挖个坑先 orz 贾教 & QuarterGeek 1 /************************************************************** 2 Problem: 3093 3 User: Tunix 4 ... 阅读全文
posted @ 2015-02-25 21:57 Tunix 阅读(209) 评论(0) 推荐(0)
摘要:数学期望/高斯消元/贪心 啊……用贪心的思路明显是要把经过次数期望越大的边的权值定的越小,那么接下来的任务就是求每条边的期望经过次数。 拆边为点?nonono,连接x,y两点的边的期望经过次数明显是 times[x]/du[x]+times[y]/du[y] 所以只要求出每个点的期望经过次数即可... 阅读全文
posted @ 2015-02-25 18:36 Tunix 阅读(248) 评论(0) 推荐(0)
摘要:数学期望/高斯消元/马尔可夫过程 刘汝佳老师白书上的例题- -b 本体不满足拓扑关系,但马尔可夫过程是可以高斯消元解的…… 用「高斯·约当消元」更方便! 1 //UVA 10828 2 #include 3 #include 4 #include 5 #include 6 #include 7... 阅读全文
posted @ 2015-02-25 11:57 Tunix 阅读(385) 评论(0) 推荐(0)
摘要:数学期望/马尔可夫过程 DP/记忆化搜索 刘汝佳老师白书上的例题…… 1 //UVA 11762 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define rep(i,n) for(int i=0;i=... 阅读全文
posted @ 2015-02-25 10:25 Tunix 阅读(494) 评论(0) 推荐(0)
摘要:LCT动态维护MST LCT动态维护MST 我们可以枚举a,然后找从1到n的一条路径使得:这条路径上的b的最大值最小。这个路径肯定在MST上……所以枚举一遍所有的边,动态维护一个关于b值的MST即可。调了半天没出解的原因: rotate写错了……l=c[y][1]==x 我写成了 l=c[z]... 阅读全文
posted @ 2015-02-24 23:08 Tunix 阅读(289) 评论(0) 推荐(0)
摘要:LCT 动态维护MST嘛……但是有删边= =好像没法搞的样子 离线记录所有修改&询问,倒序处理,就可以变删边为加边了~ 论如何用LCT维护最小生成树:先搞出一棵最小生成树,然后每次加边(u,v)时,在LCT上询问u->v这条链上权值最大的边,如果这条边权值比新加的边权值要小,则忽略这条新加的边... 阅读全文
posted @ 2015-02-24 20:27 Tunix 阅读(456) 评论(0) 推荐(0)
摘要:LCT 直到动手写拆边为点的时候才发现根本不会写……去orz了一下Hzwer(话说这题应该也用不着LCT吧……下次再换种姿势写一遍好了) 1 /************************************************************** 2 Proble... 阅读全文
posted @ 2015-02-24 13:16 Tunix 阅读(273) 评论(0) 推荐(0)
摘要:博弈论 题解:http://blog.sina.com.cn/s/blog_7cb4384d0100qs7f.html 感觉本题关键是要想到【当a-b>b时先手必胜】,后面的就只跟奇偶性有关了 1 //POJ 2348 2 #include 3 #include 4 bool game(int ... 阅读全文
posted @ 2015-02-23 12:11 Tunix 阅读(184) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/celia01/archive/2011/11/15/2250171.html【以下内容为转载】上次做poj 1067的取石子游戏,只用到了whthoff博弈,未涉及到取石子的异或方法,今天重新搜索,整理了一遍。搜罗各种资料,加上自己整理,终于成篇... 阅读全文
posted @ 2015-02-23 11:36 Tunix 阅读(298) 评论(0) 推荐(0)
摘要:博弈论 这个是博弈游戏中的Wythoff博弈:以下为我的代码: 1 //POJ 1067 2 #include 3 #include 4 #include 5 int main(){ 6 freopen("1067.in","r",stdin); 7 int a,b; 8 ... 阅读全文
posted @ 2015-02-23 11:34 Tunix 阅读(191) 评论(0) 推荐(0)
摘要:数学期望 也是刘汝佳老师白书上的例题……感觉思路很神奇啊 1 //UVA 11427 2 #include 3 #include 4 #include 5 #define rep(i,n) for(int i=0;i<n;++i) 6 #define F(i,j,n) for(int i=j;i<... 阅读全文
posted @ 2015-02-22 22:47 Tunix 阅读(239) 评论(0) 推荐(0)
摘要:数序期望 刘汝佳老师的白书上的例题……参见白书 1 //UVA 11021 2 #include 3 #include 4 #define rep(i,n) for(int i=0;i<n;++i) 5 #define F(i,j,n) for(int i=j;i<=n;++i) 6 const ... 阅读全文
posted @ 2015-02-22 22:24 Tunix 阅读(207) 评论(0) 推荐(0)
摘要:状压DP+数学期望 蒟蒻不会啊……看题跑…… Orz了一下Hzwer,发现自己现在真是太水了,难道不看题解就一道题也不会捉了吗? 题目数据范围不大……100*(2^16)很容易就跑过去了…… DP的时候max一下是接不接当前这第k个宝物……最后除以N(算期望) 1 /************... 阅读全文
posted @ 2015-02-22 22:08 Tunix 阅读(348) 评论(0) 推荐(1)
摘要:贪心 按T2(完成时限)排序,然后从前往后依次枚举 如果sum+a[i].t112 #include13 #include14 #include15 #include16 #include17 #define rep(i,n) for(int i=0;i=n;--i)20 #define f... 阅读全文
posted @ 2015-02-22 20:00 Tunix 阅读(212) 评论(0) 推荐(0)
摘要:莫比乌斯函数/容斥原理 PoPoQQQ讲义引入例题= = 比较水……就是莫比乌斯函数的简单应用,也可理解为乱容斥一下…… 二分答案——>求1~x有多少个无平方因子的数Q(x)。引用一下PoPoQQQ的题解:•根据容斥原理可知 对于sqrt(x)以内所有的质数 有• x以内的无平方因子数•=0个... 阅读全文
posted @ 2015-02-22 19:09 Tunix 阅读(309) 评论(0) 推荐(0)
摘要:莫比乌斯反演 PoPoQQQ讲义第5题,是BZOJ 2154的升级版(多次询问) 题解:http://blog.csdn.net/popoqqq/article/details/42078725WA:应该输出(ans+P)%P……而不是ans 1 /***********************... 阅读全文
posted @ 2015-02-22 12:53 Tunix 阅读(273) 评论(0) 推荐(0)
摘要:莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sqrt(n)的枚举是亮点……RE:汗- -b 10^7是8位数,开数组少打了一个0…… 1 /*... 阅读全文
posted @ 2015-02-22 11:23 Tunix 阅读(333) 评论(0) 推荐(0)
摘要:排列组合+高精度 OrzPoPoQQQ引用题解:嗯……学习了一下python= =懒的写高精了 1 /************************************************************** 2 Problem: 2729 3 User: Tun... 阅读全文
posted @ 2015-02-21 23:34 Tunix 阅读(220) 评论(0) 推荐(0)
摘要:排列组合 Lucas定理模板题…… 感觉我做题顺序有点问题啊……应该是BZOJ 2982-->HDOJ 3037-->BZOJ 1272 好吧这个现在来看就有些水了…… 预处理一下fact和inv即可 1 /******************************************... 阅读全文
posted @ 2015-02-21 21:34 Tunix 阅读(242) 评论(0) 推荐(0)
摘要:组合数学+容斥原理 Orzzyf-zyf 多重集组合数0.0还带个数限制? ——> 《组合数学》第6章 6.2带重复的组合 组合数还要模P 0.0? ——> Lucas定理 啊……要算组合数啊……除以阶乘神马的太麻烦肿么办?还要模P……没关系~我们可以搞预处理啊= =预处理粗来【阶乘%P】和... 阅读全文
posted @ 2015-02-21 19:10 Tunix 阅读(223) 评论(0) 推荐(0)
摘要:IDA*算法 OrzHZWER A*+迭代加深搜索=IDA* 这题的估价相当于一个可行性剪枝,即如果当前走的步数s+未归位的点数>搜索深度k,则剪枝 1 /************************************************************** 2 ... 阅读全文
posted @ 2015-02-17 11:24 Tunix 阅读(263) 评论(0) 推荐(0)
摘要:平衡树+启发式合并+并查集 因为要求一坨数中第k大的……用平衡树会很好维护…… 但又要求连通块?所以用并查集来维护…… 大概就是让并查集的fa和Treap的根是同一个节点吧……TLE了N多发,可能是Treap的随机rank看脸的原因……QAQ唯一过了的一次是小号…… 1 /*********... 阅读全文
posted @ 2015-02-17 01:44 Tunix 阅读(285) 评论(0) 推荐(0)
摘要:可持久化线段树 这次是询问一段区间内权值在给定范围内的点的数量,同样是可持久化线段树简单操作…… 1 //Vijos 1923 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define rep(i,n)... 阅读全文
posted @ 2015-02-16 22:09 Tunix 阅读(227) 评论(0) 推荐(0)
摘要:可持久化线段树 裸可持久化线段树,把区间第K大的rank改成num即可……(往儿子走的时候不减少)苦逼的我……MLE了一次(N*30),RE了一次(N*10)……数组大小不会开……最后开成N*20的过了 1 /********************************************... 阅读全文
posted @ 2015-02-16 18:12 Tunix 阅读(431) 评论(0) 推荐(0)
摘要:莫比乌斯反演 PoPoQQQ的讲义例一的一半……好吧这题是那题的基础部分= =很水……WA了一次:因为没强制类型转换LL 1 /************************************************************** 2 Problem: 1101 3 ... 阅读全文
posted @ 2015-02-16 17:28 Tunix 阅读(191) 评论(0) 推荐(0)
摘要:莫比乌斯反演 PoPoQQQ讲义第二题。 暴力枚举每个质数,然后去更新它的倍数即可,那个g[x]看不懂就算了…… 为什么去掉了一个memset就不T了→_→…… 1 /************************************************************** ... 阅读全文
posted @ 2015-02-16 16:03 Tunix 阅读(226) 评论(0) 推荐(0)
摘要:T1 啊……a^b与 c^d比较大小,我们可以两边取对数,转化成 log(a^b)=b*log(a)和d*log(c) 这样就能直接算了……然后稍微搞一下精度什么的就A了=。= 1 //BC #29 2 #include 3 #include 4 #include 5 #include 6 #i... 阅读全文
posted @ 2015-02-07 22:13 Tunix 阅读(175) 评论(0) 推荐(0)
摘要:莫比乌斯函数:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html Orz PoPoQQQ 这个证明过程第三步和第四步一开始没看懂…… 第三步:观察计算左边f(k)的系数,可以看出只要d不大于n/k均可以使μ(d)成为f(k... 阅读全文
posted @ 2015-02-06 23:26 Tunix 阅读(712) 评论(0) 推荐(0)
摘要:莫比乌斯反演/容斥原理 OrzPoPoQQQ PoPoQQQ莫比乌斯函数讲义第一题。for(i=1;i12 #include13 #include14 #include15 #include16 #define rep(i,n) for(int i=0;i=n;--i)19 using name... 阅读全文
posted @ 2015-02-06 23:22 Tunix 阅读(267) 评论(0) 推荐(0)
摘要:生成函数+FFT Orz PoPoQQQ 这个题要算组合的方案,而且范围特别大……所以我们可以利用生成函数来算 生成函数是一个形式幂级数,普通生成函数可以拿来算多重集组合……好吧我承认以上是在瞎扯→_→ 这个东西我也不记得是多会儿看的了……找本《组合数学》自己看看好了……或者问学数学竞赛的同... 阅读全文
posted @ 2015-02-06 19:08 Tunix 阅读(545) 评论(0) 推荐(1)
摘要:FFT c[k]=sigma a[i]*b[i-k] 这个形式不好搞…… 而我们熟悉的卷积的形式是这样的 c[k]=sigma a[i]*b[k-i]也就是【下标之和是定值】 所以我们将a数组反转一下就可以卷积了=。= 1 /**********************************... 阅读全文
posted @ 2015-02-06 17:30 Tunix 阅读(207) 评论(0) 推荐(0)
摘要:BSGS BSGS裸题,嗯题目中也有提示:求a^m (mod p)的逆元可用快速幂,即 pow(a,P-m-1,P) * (a^m) = 1 (mod p) 1 /************************************************************** 2 ... 阅读全文
posted @ 2015-02-06 16:03 Tunix 阅读(242) 评论(0) 推荐(0)
摘要:组合计数/乘法逆元 排列组合求总方案数 这个可以用一个一维的动态规划解决: f[i][0]表示第i头牛是牝牛的方案数 f[i][1]表示第i头牛是牡牛的方案数 则转移为:f[i][0]=f[i-1][0]+f[i-1][1]; f[i][1]=f[i-K-1][... 阅读全文
posted @ 2015-02-06 12:13 Tunix 阅读(299) 评论(0) 推荐(0)
摘要:快速幂/扩展欧几里得/BSGS 经典好例题!! 三个问题三种算法…… 算法:白书(算法竞赛入门经典——训练指南)全有…… 1 /************************************************************** 2 Problem: 2242 ... 阅读全文
posted @ 2015-02-05 23:51 Tunix 阅读(256) 评论(3) 推荐(0)
摘要:之前一直有些疑惑……在群里问了下,ydc神犇的回复解决了我的疑惑,写篇博客记录一下这个做法。对于线性同余方程组: a1*x≡b1 (mod c1) a2*x≡b2 (mod c2) …… an*x≡bn (mod cn)1.若有c1、c2、c3、……cn两两互质,则可以用中国剩余定理直接算出... 阅读全文
posted @ 2015-02-05 22:44 Tunix 阅读(1137) 评论(0) 推荐(1)
摘要:扩展欧几里德+快速幂 每次转换位置:第x位的转移到2*x %(n+1)这个位置上 那么m次后就到了(2^m)*x %(n+1)这个位置上 那么找洗牌m次后在 l 位置上的牌就相当于解线性模方程: (2^m)*x ≡ l (mod n+1) 扩展欧几里得即可 这里扩展欧几里得解的是ax+by=... 阅读全文
posted @ 2015-02-04 16:58 Tunix 阅读(260) 评论(0) 推荐(0)
摘要:插头DP 插头dp模板题…… 这题比CDQ论文上的例题还要简单……因为不用区分左右插头(这题可以多回路,并不是一条哈密尔顿路) 硬枚举当前位置的状态就好了>_ 3 #include 4 #include 5 #include 6 #include 7 #define rep(i,n) for(... 阅读全文
posted @ 2015-02-04 15:50 Tunix 阅读(180) 评论(2) 推荐(0)
摘要:模拟退火 Orz HZWER 这题的题意是在二维平面内找一点,使得这点到给定的n个点的距离和最小……0.0 模拟退火算法请戳这里 1 //POJ 2420 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #... 阅读全文
posted @ 2015-02-03 21:00 Tunix 阅读(184) 评论(0) 推荐(0)
摘要:欧拉函数/莫比乌斯函数 嗯……跟2190很像的一道题,在上道题的基础上我们很容易就想到先求出gcd(x,y)==1的组,然后再让x*=prime[i],y*=prime[i]这样它们的最大公约数就是prime[i]了…… 当然我们完全没必要这样做……对于每个prime[j],计算在(1,n/pr... 阅读全文
posted @ 2015-02-03 18:34 Tunix 阅读(272) 评论(0) 推荐(0)
摘要:欧拉函数/莫比乌斯函数 Orz iwtwiioi 这个嘛……很明显在同一条线上的两个点一定是满足 x1*k=x2,y1*k=y2,(好吧这个表示方式有点傻逼,懂得就好了)那么这条线上的点只有第一个会被看到,即x,y互质的那一个点(如果gcd(x,y)==k>1那么肯定在它前面还有点(x/k,y/... 阅读全文
posted @ 2015-02-03 16:34 Tunix 阅读(346) 评论(0) 推荐(0)
摘要:中国剩余定理 没啥重要的……模板题,中国剩余定理就是解出模线性方程组的一个可行解(好像也是唯一解?) 这是一种神奇的构造方法……明白了为什么这样构造是对的就行了=。=至于怎么想到这种构造方法的……去问孙子去→_→ 1 //Vijos 1164 2 #include 3 #include 4 #i... 阅读全文
posted @ 2015-02-03 00:16 Tunix 阅读(146) 评论(0) 推荐(0)
摘要:排列组合 蛮逗的…… 这题题干描述的就一股浓浓的Kruskal的气息……很容易就想到是求一个n个点的完全图的生成树个数,然后由于有序,再乘一个n-1的排列数(n-1条边的全排列)即(n-1)! 但是我一下就卡在了 完全图的生成树个数这个地方……怎么也想不出来……后来看了题解,原来这是一个奇葩的... 阅读全文
posted @ 2015-02-02 20:50 Tunix 阅读(153) 评论(0) 推荐(0)
摘要:虚树+树形DP 本题100W的点数……不用虚树真的好吗…… Orz ZYF我的感悟: dp的过程跟SPOJ 1825 FTOUR2 的做法类似,依次枚举每个子树,从当前子树和之前的部分中各找一条最长(短)路径更新答案,再把这个子树的最短路径加入到x节点中去(之前算过的部分)这样就实现了枚举所有... 阅读全文
posted @ 2015-02-02 20:09 Tunix 阅读(263) 评论(0) 推荐(0)
摘要:经典证明:Prüfer编码与Cayley公式(转Matrix67)Cayley公式是说,一个完全图K_n有n^(n-2)棵生成树,换句话说n个节点的带标号的无根树有n^(n-2)个。今天我学到了Cayley公式的一个非常简单的证明,证明依赖于Prüfer编码,它是对带标号无根树的一种编码方式。给定一... 阅读全文
posted @ 2015-02-02 17:23 Tunix 阅读(3698) 评论(0) 推荐(0)
摘要:虚树+树形DP OrzZYF……果然好神……建虚树先按dfn排序,再用一个单调栈来维护当前这条【链】,往里加边……说实话还没弄懂- -留个坑吧……RE的原因:这条链往出退的时候没写top--;在第112行……导致死循环了! 1 /*********************************... 阅读全文
posted @ 2015-02-01 22:46 Tunix 阅读(372) 评论(0) 推荐(0)
摘要:扩展欧几里德根据题意列出不定方程: (x+m*T)-(y+n*T)=k*L; //T表示跳了T次,由于是环,可能追了多圈,所以结果应为k*L化简得 T(m-n)-kL=y-x;这就成了我们熟悉的ax+by=c的形式,扩展欧几里得求解T即可(一定要分清哪个是变量x,哪个是常量a)在研究ax+by==c... 阅读全文
posted @ 2015-02-01 11:54 Tunix 阅读(165) 评论(0) 推荐(0)
摘要:欧几里得算法 普通的求个gcd即可……思路题 因为要求尽量是整数……所以 $\frac{x_1}{x_2*x_3*x_4*....*x_n}$是最大的结果了,因为$x_2$必须为分母,$x_1$必须为分子……$x_3$ ~ $x_n$可分子可分母,所以都丢到分子上,结果ans为整数的可能性最大=... 阅读全文
posted @ 2015-02-01 11:19 Tunix 阅读(174) 评论(0) 推荐(0)