算法题解--数学
文章平均质量分 72
ciociooo
这个作者很懒,什么都没留下…
展开
-
Sequence NOIp2013-Training Series #4
Description【分析】(感谢nodgd同学) 所有的v[i]转化为二进制之后,我们发现无论怎么异或,不同位的答案是互不影响的 于是我们不妨一位一位的讨论: 假设所有a[i]的二进制第j位组成一个只含有0,1的序列b[i],那么b[i]的从l到r的区间的异或的值只与b[i]从l到r的"1"的个数有关。原创 2013-11-08 11:14:24 · 1047 阅读 · 0 评论 -
【Amritapuri 2009】 Find the Number
【题目大意】给定k个数p1,p2,,,pk,给定n,求第n大的数,满足有且仅有一个序列p中的数整除它。给定的p两两互质。(k32,25)【分析】二分答案+容斥判定其实看到k的范围就应该想到枚举子集来容斥了。【题目】/* Ciocio's Oi Template */#include #include #include #include #inc原创 2014-03-10 19:11:30 · 1010 阅读 · 0 评论 -
【SGU 275】 To xor or not to xor
【题目大意】给定一个非负整数序列a1,a2,,,an (118)。要求选出其的一个非空子集,使得异或和最大。求最大异或和。【分析】先给出算法,再简略说明正确性。从高到底枚举每一个二进制位L。1.找出第L位为1的数ai,如果找到则转2,否则转4.2.若ans的第L位为0,ans^=ai。3.使所有第L位为1的数aj^=ai。4.枚举下一个二进制位。原创 2014-03-10 18:58:19 · 1556 阅读 · 0 评论 -
【SCOI2010 DAY2】 字符串 --折线原理+乘法逆元
Description时限:2s lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?Input 输入数据是一行,包括2个数字n和mOutput 输出数据是一行,包括1个数字原创 2014-01-20 14:28:43 · 1208 阅读 · 1 评论 -
【UVa 10780】 Again Prime? No time.
【题目大意】给定两个正整数N,M。求一个最大的正整数k,使得Mk|N!【分析】直接将N!和M的质因子分解,然后比较指数即可。N!的质因子分解式: 设N!=p1a1 × p2a2 × p3a3 ××× pkak那么pi的指数ai=sigma(N/(pij)) pij【代码】#include #include #include #inc原创 2014-02-18 13:21:29 · 795 阅读 · 0 评论 -
【BZOJ 2818】 gcd
Description给定整数N,求1数对(x,y)有多少对.Input一个整数NOutput如题Sample Input4Sample Output4HINThint对于样例(2,2),(2,4),(3,3),(4,2)1【分析】 设有x,y满足条件,有(x,y)=p,p原创 2014-02-14 00:34:06 · 994 阅读 · 0 评论 -
【PYC#1 欢乐赛】 题解
【题目地址】点击打开链接【分析们】【T-1】树状数组+Trie树【T-2】首先显然这是个堆,这个堆以位置为关键字,且形状固定。我们要做的就是将数字1~N填入堆中,并且令这些数字也满足堆性质。考虑我们有一个以x为根的堆,有i个数字可以填。我们用M[i]表示以i为根的堆的结点个数,可以逆序O(N)求得。用f[i]表示有i个数的方案数。我们得到一个原创 2014-02-23 15:57:00 · 1449 阅读 · 3 评论 -
HDU-4704 --费马小定理降幂
Problem Description Sample Input2 Sample Output2Hint1. For N = 2, S(1) = S(2) = 1.2. The input file consists of multiple test cases. 【分析】题目中,S[i]表原创 2014-02-02 20:28:26 · 1149 阅读 · 0 评论 -
Count Path Pair
题目地址:点击打开链接【分析】我们设总的方案数为A,然后f,g相交的方案数为B。那么答案就是A-B了。A很好计算,A=C(m+n,n)*C(m-p+q,q)从图中我们可以看出,f,g在E点相交,等价于f从E点穿过。所以相交的方案数B就等价于“A到C,B到D的方案数”。那么,B=C(m+q,q)*C(m-p+n,n)至此,问题完美解决【代码】/原创 2014-01-26 22:59:11 · 805 阅读 · 0 评论 -
【CQOI 2009】 中位数
Description给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。Input第一行为两个正整数n和b ,第二行为1~n 的排列。Output输出一个整数,即中位数为b的连续子序列个数。Sample Input样例输入1:5 41 2 3 4 5样例输入2:6 31 2 4原创 2013-10-26 14:04:05 · 1358 阅读 · 0 评论 -
【POJ 1681】 手机游戏 ---高斯消元
Description有一个有趣的手机游戏,有n*n个正方形的小按钮,有的按钮是黄色,有的按钮是白色。玩家的任务是通过点击按钮,让所有按钮都变成黄色,点按钮的次数越少,得分越高。 但是按钮有个奇怪的特点,当你点击了坐标为(x,y)的按钮后,坐标为(x,y),(x+1,y),(x-1,y),(x,y-1),(x,y+1)的五个按钮会同时改变自身的颜色,是白色的变成黄色,黄色的变成白色。完成游原创 2013-12-03 17:51:32 · 1450 阅读 · 0 评论 -
佳佳的困惑
给出一个数N,含数字1,2,3,4,把N的所有数字重新排列一下组成一个新数,要求这个新数是7的倍数。【分析】 把数字1,2,3,4从中各抽出1个,然后把其他数字按原顺序(其实任一顺序都可以)排列,组成自然数w。w×10000模7有7种可能,即是0,1,2,3,4,5,6,这时若能用数字1,2,3,4排列出7个数,使它们整除7取余的值分别为0,1,2,3,4,5,6。则把这个4转载 2013-09-28 09:21:15 · 892 阅读 · 0 评论 -
分金币 重庆省选2011
Description圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。Input第一行为整数n(n>=3),以下n行每行一个正整数,按逆时针顺序给出每个人拥有的金币数。Output输出被转手金币数量的最小值。Sample Input41254转载 2013-10-08 19:32:05 · 1815 阅读 · 0 评论 -
Ljutnja COCI 2010/2011 CONTEST #1-4
Description幼儿园的小孩们收到了一个有M颗糖果的大包裹,现在要把这些糖果分给N个小孩。每一个小孩都给出了一个期望的糖果数,如果没有达到他的期望值a[i],小孩就会生气。每差一个糖果,小孩的生气指数就会增加。可以认为他生气的程度等于他少得到的糖果数的平方。比如,Mirko想要得到32个糖果,但是只得到了29个。他少了3个,所以他的生气指数是9。不幸的是,糖果数不足以满足所有小孩的期望。原创 2013-10-26 19:14:27 · 1553 阅读 · 0 评论 -
Sum of xor NOIp2013-Training Series #2
Description求1 XOR 2,XOR,...,XOR N 的值。 A XOR B 即A,B 按位异或。Input1 个整数N。Output1 个整数,表示所求的值。Sample Input3Sample Output0Hint对于50% 的数据,1对于100% 的数据,1【分析】 结论题。原创 2013-11-08 10:41:44 · 1171 阅读 · 0 评论 -
Sum of product NOIp2013-Training Series #2
DescriptionInput第1 行,1 个整数N。 第2 行,N 个整数A1,A2,...,AN。Output1 个整数,表示所求的值Sample Input31 2 3Sample Output36Hint对于30% 的数据,3• 对于60% 的数据,3• 对于100% 的数据,3【分析】原创 2013-11-08 10:59:56 · 1271 阅读 · 0 评论 -
填表格
Description有一个N行N列的格子,现在要把1~N^2的所有整数填进这些格子中。有这样一些规则: (1)1可以填在任意一个位置; (2)i所在的行序号等于i-1所在的列序号,2(3)按从小到大的顺序填,每个格子只能填一个数。 有时可以把这些数填完,有时候则不行。例如,下图所示即为N=3时的一个可行方案。由于1在第3列,所以2要填在第3行,以此类推,直到把9填进去使其填满原创 2013-10-08 16:41:06 · 1216 阅读 · 0 评论 -
密码
Description升降梯的密码盘是一个由n*n个方格组成的正方形(n为偶数),第i行第j列的方格中标着数字(i-1)*n+j,而在密码盘的上面覆盖着一张同样由n*n个方格组成的挡光片。如果挖去挡光片上的n*n/4个格子,并从小到大记下通过挖去的格子看到的n*n/4个数;然后把挡光片顺时针旋转90°、180°、270°,每次也同样记下看到的n*n/4个数;这样最终将得到n*n个数。如果记下的原创 2013-10-15 14:19:19 · 770 阅读 · 0 评论 -
【NOIP 2012】 国王游戏
Description恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。 国王不希望原创 2013-09-28 15:02:20 · 10999 阅读 · 6 评论