Codeforces Round #382 (Div. 2)
摘要:A题,水题。 B题,贪心一发。排序一下,从大到小,先拿个数较少的几个,再拿个数较多的几个即可。证明应该是显而易见的。 C题,本以为log一发即可。但是log的话不能保证深度最深,即不能保证最大分数最大。因此考虑递推,用f[i]表示要得到i分需要的最少的人数,显然要人数最少,最后剩下一个即可。那么要得
阅读全文
Codeforces Round #369 (Div. 2)
摘要:A题,水题,暴力找即可。 B题,水题,但是需要注意n=1的情况。 C题,dp。虽然是个水dp,但是我还是没能够自己独立的写出来。= =太菜了!代码如下: 1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 #incl
阅读全文
Codeforces Round #361 (Div. 2)
摘要:我以为这场是昨天没做完的那场= =,结果是以前没做完的一场。。前3题以前做过了。也懒得再看一遍了= =。虽然前面的题感觉再做一遍也不一定做的出的样子- -。不过D和E都是好题,补这场不亏。 D题,题意是问有多少区间,这段区间里面,在a数组中的max和在b数组中的min是相同的。做法是枚举左端点,考虑
阅读全文
HDU 5974 A Simple Math Problem ——(数论,大连区域赛)
摘要:给大一的排位赛中数论的一题。好吧不会做...提供一个题解吧:http://blog.csdn.net/aozil_yang/article/details/53538854。 又学了一个新的公式..如果x和y互质,那么x+y和x*y互质。证明如下:随便找一个x中有的因子c,因为x,y互质,因此c不是
阅读全文
HDU 5673 Robot ——(卡特兰数)
摘要:先推荐一个关于卡特兰数的博客:http://blog.csdn.net/hackbuteer1/article/details/7450250。 卡特兰数一个应用就是,卡特兰数的第n项表示,现在进栈和出栈的次数都是n次,问最后栈空的合法序列的个数。其他例子见上面这个博客。 那么关于这个题目,我们先选
阅读全文
CodeForces 724C Ray Tracing(碰撞类,扩展gcd)
摘要:又一次遇到了碰撞类的题目,还是扩展gcd和同余模方程。上次博客的链接在这:http://www.cnblogs.com/zzyDS/p/5874440.html。 现在干脆解同余模直接按照套路来吧,如果有解,那么x先乘以(c/g),然后mod数是(b/g),就按照这个套路来好了- -。 这题的思路大
阅读全文
HDU 5894 hannnnah_j’s Biological Test ——(组合数)
摘要:思路来自于:http://blog.csdn.net/lzedo/article/details/52585170。 不过并不需要卢卡斯定理,直接组合数就可以了。 代码如下:
阅读全文
扩展欧几里得的一些心得
摘要:最近发现扩展欧几里得的使用过程中有一些要注意的地方。 1.ax+by=c,这个式子中,如果b是负数,那么把它当作正数来算也无妨,因为只要给y乘一个(-1)就可以了。当然a也是同理。 2.如果解出来的x是一个负数,那么怎么变成正数呢? 方法如下: 得出来的解是ax+by=gcd(a,b)的解,令g=g
阅读全文
HDU 5794 A Simple Chess ——(Lucas + 容斥)
摘要:网上找了很多人的博客,都看不太懂,还是大力学长的方法好。 要说明的一点是,因为是比较大的数字的组合数再加上mod比较小,因此用Lucas定理求组合数。 代码如下(有注释):
阅读全文
HDU 5793 A Boring Question ——(找规律,快速幂 + 求逆元)
摘要:参考博客:http://www.cnblogs.com/Sunshine-tcf/p/5737627.html。 说实话,官方博客的推导公式看不懂。。。只能按照别人一样打表找规律了。。。但是打表以后其实也不是很好看出规律的。。。而且这个表都写了半天233。。。(真是太弱了= =)为了打表,我们应当先
阅读全文
UVA 11174 Stand in a Line,UVA 1436 Counting heaps —— (组合数的好题)
摘要:这两个题的模型是有n个人,有若干的关系表示谁是谁的父亲,让他们进行排队,且父亲必须排在儿子前面(不一定相邻)。求排列数。 我们假设s[i]是i这个节点,他们一家子的总个数(或者换句话说,等于他的子孙数+1(1是他本身)),f[i]是以i为根的节点的排列种数。那么总的种数为n!/(s[1]+s[2]+
阅读全文
UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)
摘要:先看第一题,有n*m个点,求在这些点中,有多少条直线,经过了至少两点,且不是水平的也不是竖直的。 分析:由于对称性,我们只要求一个方向的线即可。该题分成两个过程,第一个过程是求出n*m的矩形中,dp[i][j]代表在这个矩形中终点是到(i,j)这个点的满足题意的直线条数,那么,用dp的话就可以得出递
阅读全文
2016百度之星资格赛 Problem A(前缀积与求逆元)
摘要:题意:给出一个字符串,每次询问给出x和y要求算出从x到y的每个字符的(ASCII 码值-28)的值的积(mod9973)。 分析:首先的想法肯定是算出每个位置的前缀积,然后只要F[y]/F[x-1]即可。但是每个前缀积都已经mod9973了,就不能直接这样得出结果了,所以利用求逆元。因为a/b(mo
阅读全文
2016百度之星资格赛 Problem B(大数+组合数)
摘要:题意:度熊面前有一个全是由1构成的字符串,被称为全1序列。你可以合并任意相邻的两个1,从而形成一个新的序列。对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列。最多200个1。 比如:如果序列是:(111)。可以构造出如下三个新序列:(111), (21), (12)。 分析:对于
阅读全文