-
hdu 2853题目链接 题意:n个公司,m个任务(m>=n),一个公司只能对应一个任务,一个任务也只能对应一个公司。给出一个n*m的mat,表示每个公司对应每个任务产生的val。 然后给出n个数,表示初始钦定(雾)这n个公司分别做哪些任务。 但是可能初始的安排得到的val表示最大的。我们现在想得到最大的val,并且保证改变的安排数最少。求安排后得到的 val比初始安排大多少,以及需要改变的安排数量。 思路:最大val很好求,KM就好。。。但是,怎么才能保证改变的安排数最少呢? 尤其是当两个安排val一样的时候,如何才能保证优先选已经安排好的,而不取选另一个呢? 并没有想出来,看了题解T T 太神辣。 由于KM算法会根据权值来 …
Read More -
http://poj.org/problem?id=2356 题意:有n个数,从中选取若干个(1..n),和能被n整除。问是否有解,无解输出0,有解的话,输出个数以及选择的ai 由抽屉原理可知一定有解: 做一个带模的前缀和 sum[i]=(sum[i-1]+a[i])%n n个数,sum[i]最多有n种。 如果某个sum[i]为0,那么表示从1到i的和能被n整除。 如果所有的sum[i]不为0,那么一共有n个sum[i],n-1个值(1..n-1),一定有sum[i]==sumj 那么a[i]到a[j]的和一定能被n整除。 …
Read More -
http://codeforces.com/contest/611/problem/B 题意:问a到b(1E18),二进制表示中只有一个0的数有多少个。 思路:这么大的数。。。不是有循环节就是math problems. UD:20160318讲道理还有可能是数位dp好不好。。。 我们发现可以很容易得算出1到x的二进制表示中只有一个0 的数有多少个。 problem solved. 20160318update:学了数位dp后又看到这题。。。这题显然是数位dp啊。。。亏我找规律搞了出来2333. 后面附上数位dp方法AC的代码 /* *********************************************** …
Read More -
水题 写一遍的目的是。。。复习一下快速筛的写法 喵呜 /************************************************************************* > File Name: code/poj/2909.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月22日 星期六 14时25分34秒 ************************************************************************/ …
Read More -
题意是说,能构造多少本元勾股数和勾股数,要求构造的数<=n 所谓本元勾股数,就是三个勾股数没有公因数,两两互质。 由本元勾股数扩大k倍,就可以得到其他勾股数。 而构造本元勾股数的方法如下: ***a=st,b=(s^2-t^2)/2,c=(s^2+t^2)/2 其中s>t>=1是任意没有公因数的奇数! 引用一段构造正确性的证明: 本原勾股数组(PPT)是一个三元组(a,b,c),其中a,b,c无公因数,且满足a² +b² =c²。 很明显存在无穷多个勾股数组(abc同乘以n),下面研究abc没有公因数的情况,先写出一些本原勾股数组: case:(3,4,5) (5,12,13) (8,15,17) …
Read More -
昨天那道签到的数学题没搞出来不开心. 是时候刷一波数学了 这题题意是说,从n个数中任选m个,使得m个的和为c的倍数. 如果有解,输出选的数的下标,否则输出无解字符串. 抽屉原理的原始描述是,如果有n+1个物品,有n个抽屉,那么至少有一个抽屉有2个物品. 由抽屉原理我们可以退出一个结论,对于任意 n个自然数,一定有连续的一段和为n的倍数. 证明如下: 设这n个自然数分别为a1,a2,a3,a4....an 处理一个前缀和sum[i] = (sum[i-1] + a[i])%n 因为n的剩余类有n种,分别为0,1,2...n-1 所以sum[1],sum[2],sum[3]..sum[n] 那 …
Read More -
ACM STEPS里的...这题前面一道是求LCM....结果接下来就是这么一道。。。 朴素会超....筛法会爆....题目顺序真是按照难度来的? 于是想到 Miller-Rabin素数测试....... 这个方法是基于费马小定理 我的理解就是... 如果我要判断n是否为素数 只要取k个数 如果满足 a^(n-1)mod n =1 那么n就很可能为素数。 证明什么的...暂时还是算了吧...论文里貌似扯了一大堆 第一次用,竟然真的A了。。。。 感觉更好的办法也许是先打一个比较小的素数表,然后每次random选取若干个进行判断...那样应该更可靠些? 本来想WA掉之后再改的。。。没想到这么写就A掉了。。。。杭电数据略水? 1 2 /* …
Read More