摘要: 思路:首先如果颜色相同直接利用以前的答案即可,可以离线排序或是在线hash,然后考虑怎么快速统计答案。 首先如果点a是点b的祖先,那么一定有点b在以点a为根的子树的dfs序区间内的,于是先搞出dfs序。 然后如果颜色a的点数很小,颜色b的点数很大,那么可以考虑枚举a的点数,然后对于每一种颜色开个ve 阅读全文
posted @ 2016-10-14 17:44 DUXT 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 思路:考虑离线操作,以y为关键字排序,对于y相同的一起操作,然后考虑y的范围,当y<=sqrt(n)时,直接O(n)预处理出f[x]表示f[x]+f[x+y]+f[x+2*y]+..+f[x+k*y]的答案,然后这样的y显然不超过sqrt(n)个,复杂度也就是O(n*sqrt(n))的;如果y>sq 阅读全文
posted @ 2016-10-14 16:58 DUXT 阅读(234) 评论(0) 推荐(0) 编辑
摘要: T1:bzoj4711:小奇挖矿 题意:喵星系有n个星球,标号为1到n,星球以及星球间的航线形成一棵树。所有星球间的双向航线的长度都为1。小奇要在若干个星球建矿石仓库,设立每个仓库的费用为K。对于未设立矿石仓库的星球,设其到一个仓库的距离为i,则将矿石运回的费用为Di。请你帮它决策最小化费用。 思路 阅读全文
posted @ 2016-10-13 21:21 DUXT 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 思路:首先考虑如何求珠子个数,一个珠子由a,b,c三个数组成且属于区间[1,a],并满足gcd(a,b,c)=1。由于要求本质相同,对于a,b,c这样的一个无序的数列且满足gcd(a,b,c)=1,设其总方案数为t1,那么显然本质相同的重复了6次,即(a,b,c),(a,c,b),(b,a,c),( 阅读全文
posted @ 2016-10-13 20:10 DUXT 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一串项链由n个戒指组成,对于每个戒指,一共有M个点,R种颜色,且旋转后相同的戒指是相同的,然后一串项链又由N个戒指组成,同时要满足相邻的两个戒指不能相同,这串项链上某个位置插入了一个特殊的东西,且如果特殊的东西插入的地方不同,即使戒指都是相同的,这两串项链也是不同的,求一共有多少不同的爱之 阅读全文
posted @ 2016-10-12 10:13 DUXT 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 思路:由于题目给出了置换,又要求本质不同的方案数,考虑使用Burnside引理,Burnside引理即通过所有置换和原来相同的方案数之和除以方案数总数,而对于某一个置换要使置换后得到的与原来的相同,就应该把置换形成的环染成同一种颜色,也就是说属于一个环内的元素颜色一定相同,然后有一定要有一定量的红蓝 阅读全文
posted @ 2016-10-12 09:29 DUXT 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 思路:以bzoj1119为例,题目已经给出了置换,而每一次交换的代价是交换二者的权值之和,而置换一定是会产生一些环的,这样就可以只用环内某一个元素去置换而使得其余所有元素均在正确的位置上,显然要选择环内最小的数,但也可能存在一个数使得它不在当前处理的环内而它先与当前环内某个数进行交换,然后再在环内进 阅读全文
posted @ 2016-10-12 08:26 DUXT 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 思路:由于题目中是通过改变点的编号来判断两种染色方案是否相同,而染色的确是边,于是考虑如何将点置换转化为边置换。 对于一个有n个点的完全图,其点置换有n!个(即全排列个数),又由于每一个边置换都对应了一个点置换(因为是改变点的编号才得到的边置换),因而边置换也是n!个,也就是说已经确定了Polya定 阅读全文
posted @ 2016-10-11 21:51 DUXT 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 思路:polya裸题,如果是旋转,对于旋转i格的循环节长度len=lcm(i,n)/i,个数就是n/len=gcd(i,n);如果是翻转,奇数个点对称轴就是一个点一条边,那么循环节个数即n/2+1, 偶数个点有n/2条对称轴穿过两个点,循环节个数是n/2+1,n/2条对称轴穿过两条边,循环节个数就是 阅读全文
posted @ 2016-10-10 22:00 DUXT 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 思路:区间dp,设状态f[l][r][bo]表示区间[l,r]的答案,bo=1表示该区间可以放M也可以不放M,bo=0表示该区间不能放M,并且对于任意一个状态f,l和l-1之间均有一个M,于是就可以进行转移了。 对于区间[l,r]中的任意位置都可能要放一个M,于是当bo=1时f[l][r][bo]= 阅读全文
posted @ 2016-10-10 20:29 DUXT 阅读(181) 评论(0) 推荐(0) 编辑