其他
文章平均质量分 79
满赋诸机
这个作者很懒,什么都没留下…
展开
-
2016年第七届蓝桥杯省赛(C/C++ A组)
父亲和儿子 枚举生日蜡烛 枚举填格子 DFS快速排序去掉尾1四则运算 DFS剪邮票 DFS四方定理 枚举回文串 区间DP区间DP最小回文代价经典例题最大公比原创 2016-03-20 18:26:24 · 6830 阅读 · 10 评论 -
BestCoder Round #76
DZY Loves Balls 枚举DZY Loves Partition 数学原创 2016-03-19 22:16:46 · 652 阅读 · 2 评论 -
hihocoder-1032 最长回文子串(Manacher)
这个算法和其他很多算法都是利用已经知道的信息降低时间复杂度,不过空间开销有点大原创 2016-02-04 18:19:44 · 690 阅读 · 0 评论 -
Codeforces Round #341 (Div. 2) [Codeforces621]
A Wet Shark and Odd and Even 模拟B Wet Shark and Bishops 数学E Wet Shark and Blocks DP&&矩阵快速幂C Wet Shark and Flowers 数学D Rat Kwesh and Cheese 模拟数学分析原创 2016-02-01 00:18:48 · 849 阅读 · 0 评论 -
Codeforces Round #340 (Div. 2)[Codeforces617]
A Elephant 贪心B Chocolate 数学C Watering Flowers 枚举D Polyline 模拟memory limit per test256 megabytesinputstandard inputoutputs原创 2016-01-24 13:46:53 · 540 阅读 · 0 评论 -
HDU-5610 Array(枚举)
水题,直接枚举即可原创 2016-01-31 22:02:43 · 582 阅读 · 0 评论 -
USACO-Section 3.1 Contact(枚举)
方法一:枚举用map枚举计数,最后排序输出答案即可方法二:通过trie树枚举由于只含有0和1两种字符,所以可以用数组模拟满二叉树表示trie树时间是用map的1/5原创 2016-01-31 17:22:13 · 603 阅读 · 0 评论 -
BestCoder Round #70
HDU-5615 Jam's math problemHDU-5616 Jam's balanceHDU-5617 Jam's maze原创 2016-01-30 22:07:00 · 806 阅读 · 0 评论 -
USACO-Section 2.4 Fractions to Decimals(模拟)
当某个余数第二次出现时,则循环节为该余数第一次出现至第二次出现之前原创 2016-01-30 17:59:13 · 363 阅读 · 0 评论 -
BestCoder Round #71
HDU-5620 KKs Steel数学HDU-5621 KKs Point数学HDU-5623 KKs NumberDP原创 2016-02-07 00:05:07 · 446 阅读 · 0 评论 -
HDU-5611 Baby Ming and phone number(模拟)
水题,按照题意判断即可忘了0开头的数字表示8进制,01234导致数字错误,浪费好长时间原创 2016-02-06 22:07:55 · 649 阅读 · 0 评论 -
USACO-Section 2.4 The Tamworth Two(模拟)
水题,模拟即可由于地图很小,所有总共有10*10*4种状态,牛和人共有160000种状态,则若超过160000分钟还未相遇,则必有两种状态重复,即陷入循环,则不会相遇原创 2016-01-28 17:34:14 · 588 阅读 · 0 评论 -
USACO-Section 2.3 Controlling Companies(模拟)
当s控制e时,将e中对i所有的股份都加在s对i的股份上(前提是:s未控制i,防止多次更新)可以用队列存储s控制e,当队列为空时,所有状态更新完毕原创 2016-01-28 15:06:46 · 604 阅读 · 0 评论 -
USACO-Section 2.3 Zero Sum(枚举)
枚举水题,符号按' ','+','-'顺序枚举即可按顺序输出原创 2016-01-28 11:06:19 · 532 阅读 · 0 评论 -
HDU-计算机学院大学生程序设计竞赛(2015’11)1002 投币洗衣机(模拟)
水题,直接模拟即可原创 2015-11-29 16:26:57 · 1337 阅读 · 0 评论 -
HDU-4569 Special equations (数学)
看到Special Judge和中国剩余定理就有点怕,直接题解了...发现这对数学好的人来说又是一道简单题题目只求任意一个x使f(x)%(pri*pri)=0,满足这个的必要条件是f(x)%(pri)=0,所以先在0~pri中枚举x,若找不到符合条件的则无解,找到则令x+=pri再次在x~pri*pri中枚举x,若找不到符合条件的则无解,找到则为答案。原创 2016-04-01 15:38:35 · 668 阅读 · 0 评论 -
USACO-Section 3.2 Factorials(模拟)
首先可以去掉所有的因子5,然后去掉相同个数的因子2,最后将剩余的数乘起来,取末位即可后来想到如果后面是0直接去掉即可,对剩下的数继续乘,刚开始是对每次结果模10,结果WA了,后来发现模1000才AC,不过感觉仍然是水过的,数据不够大觉得应该是数字上限是多少位,结果应该取多少位原创 2016-02-24 18:47:01 · 639 阅读 · 0 评论 -
HDU-2065 "红色病毒"问题(矩阵快速幂||生成函数)
看到专题里说这题是指数型的生成函数,就想着练一下结果又想到别的做法去了设dp[i][0~3]表示当前状态的方案数i表示长度为i的字符串0代表含有‘A’和'C'的个数均为偶数1代表含有'A'的个数为奇数,含有‘C’的个数为偶数2代表含有'C'的个数为奇数,含有‘A’的个数为偶数3代表含有‘A’和'C'的个数均为奇数然后枚举第i+1个字符,得到状态转移方程dp[i+1][0]=dp[i][0]*2+dp[i][1]+dp[i][2];dp[i+1][1]=dp[i][1]*2+dp[i][0原创 2016-06-08 13:11:12 · 1435 阅读 · 0 评论 -
51NOD-1670 打怪兽(排列组合)
大致思路:临走时粗略地看了一下题目,半路上才发现没看数据范围,而且没注意怪兽的能量值是0~n-1还是题目给定,就先按照0~n-1想了一下,结果很快就想出来了又想如果能量值是题目给定该怎么做,发现这样不过是前者的加强版,也能运用排列组合轻松解决首先知道期望计算公式为:E=∑p[i]*i; (i表示游戏结束时能量,p[i]表示游戏结束时能量为i的概率)而 p[i]*n! 表示游戏结束时能量为i的方案数,所以用排列组合计算达到能量为i时的方案数即可模拟打怪兽的过程,设当前能量为energy,能量达到en原创 2016-06-03 22:42:55 · 2003 阅读 · 0 评论 -
HDU-4586 Play the Dice (数学)
第一次掷出的期望为:sum/n有m/n的概率掷第二次,第二次掷出的期望为:sum/n*(m/n)...有(m/n)^x的概率掷出第x次,第x次掷出的期望为:sum/*(m/n)则总期望为:sum/n*(1+m/n+…(m/n)^x)=sum/n*((1-(m/n)^x)/(1-(m/n)))取极限后化简得:sum/(n-m)需要注意的是:若n==m&&sum!=0时,期望为inf,若sum==0时,期望为0,其余可用上述公式原创 2016-04-22 18:07:15 · 482 阅读 · 0 评论 -
HDU-4850 Wow! Such String! (构造)
Wow! Such String!http://acm.hdu.edu.cn/showproblem.php?pid=4850Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Special JudgeProblem DescriptionRecently...原创 2016-05-02 15:00:06 · 726 阅读 · 4 评论 -
HDU-4497 GCD and LCM (数学)
只知道应该将l/g分解成素数的次方之积(后来才知道是 整数唯一分解定理),但是不知道如何给这三个数分配各素数看了题解才明白,要学会分析设l/g中某一素数p的指数为cnt,则只有满足这三个数中至少有一个数的p的指数为cnt(否则最小公倍数不是l),至少有一个数的p的指数为0(否则最大公约数不是1)共三种情况:①一个数的p的指数为cnt,一个数的p的指数为0,另一个数的p的指数取1~cnt-1,方案数为:C(3,1)*C(2,1)*(cnt-1) ②两个数的原创 2016-05-01 09:39:17 · 467 阅读 · 0 评论 -
HDU-4493 Tutor (模拟)
其实早就发现了0.5的舍入各个编译器有差别,但是一般加上EPS就能过了,但是本题在重现时貌似得手动判断。。。原创 2016-04-30 14:26:13 · 359 阅读 · 0 评论 -
XDU-1153 万神的线段 (排序)
读入线段数据后,直接按照“斜率”排序即可,相互平行的线段必定在一起,统计平行的线段为cnt,则这些平行的线段能构成cnt*(cnt-1)/2对平行线段注意:cnt得用long long;特判斜率不存在的情况;我将除法转化为乘法,比较斜率,没有精度误差,不过比赛时WA了好久,最后终于发现:dx可能为负值,所以在存储时,若dx为负值,则dx、dy均取相反数原创 2016-04-26 22:01:31 · 1158 阅读 · 2 评论 -
Educational Codeforces Round 3 B.The Best Gift (数学)
直接统计每类书的个数计算即可原创 2016-01-20 13:29:00 · 566 阅读 · 1 评论 -
HDU-4572 Bottles Arrangement (数学)
做的时候把样例的排列弄出来后,直接猜想答案是从n开始递减,每次取两个n,直到取满m个值正解推导:http://blog.csdn.net/catalyst1314/article/details/9017737好麻烦,看不懂...这题n和m与平常的不一样,我就说怎么按照给的公式都能WA...原创 2016-03-27 22:03:16 · 481 阅读 · 0 评论 -
HDU-4565 So Easy!(数学&&矩阵快速幂)
貌似去年网络赛还是多校见过类似的题,但是没有补题,所以依旧不会,只记得见过...这题只难在推导递推公式,其他还好吧,看到这个数学推导,发现高中真是虚度,什么都不会详细推导过程:http://blog.csdn.net/ljd4305/article/details/8987823原创 2016-03-27 21:39:12 · 635 阅读 · 0 评论 -
BestCoder Round #77
HDU-5650 so easy 数学HDU-5651 xiaoxin juju needs help 数学HDU-5652 India and China Origins 二分并查集原创 2016-03-26 21:38:58 · 492 阅读 · 0 评论 -
USACO-Section 3.2 Feed Ratios(枚举)
范围依旧很小,枚举即可原创 2016-03-25 12:29:39 · 482 阅读 · 0 评论 -
HDU-4969 Just a Joke (数学 - 积分)
一眼就能看出来时微积分,奈何高数远离我太久,化了好久,在离答案只差一个积分时放弃了去吃饭,悔恨不已。。。推到过程如下:原创 2016-04-03 20:43:54 · 480 阅读 · 0 评论 -
HDU-4965 Fast Matrix Calculation (矩阵快速幂)
看到矩阵快速幂以为是一道模板水题(其实就是一道模板水题。。。),就欢快的找模板了,发现n能取1000时,果断CE(栈内存爆了)+TLE,然后就不知所措最后队友将C^(n*n)写成(A*B)*(A*B)……才反应过来,利用矩阵点结合律,计算(B*A)^(n*n-1)就行了,思维太死了。。。原创 2016-04-03 19:28:54 · 951 阅读 · 0 评论 -
HDU-计算机学院大学生程序设计竞赛(2015’11)1004 质方数(打表)
在水题中,也总想着优化时间,明明枚举更简单。由于1<=n<=10^8,所以只需用找到10^4以内的质数(共1229个),防止极限数据出错,需要找到大于10^4的第一个质数10007将所有的质数的平方按升序存入质方数表每次读入数n后,找到大于等于n的第一个质方数lst[index],然后在lst[index]与lst[index-1]中取离n更近的数原创 2015-11-29 16:48:29 · 1514 阅读 · 0 评论 -
HDU-计算机学院大学生程序设计竞赛(2015’11)1003 玩骰子(枚举)
直接枚举所有情况,算出概率即可,只是判断略麻烦(可能是我想的太麻烦了)刚开始没有把所有骰子重新投算在一起,样例都过不了,看了别人的思路后,才明白应该分开算,取最大的胜率即可原创 2015-11-29 17:25:07 · 1263 阅读 · 0 评论 -
HDU-计算机学院大学生程序设计竞赛(2015’11)1006 逆袭指数(枚举)
如果枚举的话,随着ansLen和sta的增加,从sta开始的ansLen+1个数的积很快便会大于n,可以大幅降低枚举的个数超时后发现,如果n是质数,则会超时,没想到如何有效判断,都已经想用Miller_Rabin先判断是否为素数,再计算看到别人思路,才想起O(sqrt(n))判断一个数是否为素数的方法,而且能直接融合进枚举过程中原创 2015-11-29 18:44:09 · 1050 阅读 · 0 评论 -
USACO-Section 2.2 Runaround Numbers (枚举)
这么快就又是一道简单题,最大的数为987654321,而且相邻两个循环数相差不大,直接枚举即可。原创 2015-09-14 22:04:47 · 472 阅读 · 0 评论 -
USACO-Section 2.2 Preface Numbering (数学)
描述一类书的序言是以罗马数字标页码的。传统罗马数字用单个字母表示特定的数值,以下是标准数字表:I 1 L 50 M 1000V 5 C 100X 10 D 500最多3个同样的可以表示为10n的数字(I,X,C,M)可以连续放在一起,表示它们的和:III=3CCC=300可表示为5x10n的字符(V,L,D)从不连续出现。除了下一个规则,原创 2015-09-08 18:38:24 · 449 阅读 · 0 评论 -
XDU-1111 Too Easy(矩阵快速幂)
做了一天,我真是太渣了。先算了前几个,在oeis查到了这个数列(http://oeis.org/A001924),看到了下方的公式有:a[n]=Fib(n+4)-n-3,想到斐波那契数列有通项公式,就直接用double求出来,看到前几十个都是符合的就交了,结果WA,重新测试很大的数(44以后),由于有n次方运算,double的精度产生的误差就会放大到比1000000007大,从而影响运算结果。在写完之前,经人点播,其实已经发现了递推公式,但是看到有递推公式中有n和常数,就放弃了矩阵快速幂(果真是做题太少原创 2015-08-21 19:49:11 · 720 阅读 · 0 评论 -
HDU-5392 Infoplane in Tina Town(分解质因数法求最小公倍数)
题意:给出一个置换,求它的循环长度。数据范围 :3*10^6思路:求出每一个循环的长度,然后再求他们的最小公倍数(题解说最小公倍数要:分解质因数,然后用快速幂和乘法)我按照这样的方法做还是用时5s+(写的又太渣了),幸亏hdu将时间从3500ms放宽到7000ms。不知道那些1400ms的大神怎么做的。。。原创 2015-08-16 17:12:13 · 1521 阅读 · 0 评论 -
HDU-5400 Arithmetic Sequence(数学 || DP)
法一:和队友讨论之后,觉得每一个序列,只要其符合(①公差为d1②公差为d2③前面公差为d1,后面公差为d2)三者任意一个就满足题意然后求出每一个最长的符合题目条件的序列,然后求其连续子序列(元素个数>=2)假设一个最长的符合题目条件的序列的元素个数为tmp,则其连续子序列中:元素个数为tmp个的有1个,元素个数为tmp-1个的有2个……以此类推,将所有连续子序列(元素个数>=2)加起来得:((tmp-1)*tmp)/2原创 2015-08-18 18:51:47 · 483 阅读 · 0 评论 -
HDU-5402 Travelling Salesman Problem(模拟)
比赛时已经想出和题解大致一样的思路,只是绕格子的方式分的太细,结果没时间写完(主要是自己太渣)题解:原创 2015-08-18 20:52:40 · 448 阅读 · 0 评论