摘要:
题意:给你52张牌,已知一个牌的序列,然后利用剩余的牌,能排成多少个序列,这个序列比已知的序列字典序小。思路:从左到右尽可能放比已知序列相应位置小,找不到就放一样,然后求组合数就可以。多重集排列定理:令s时一个多重集,有k个不同类型的元素,各元素的重数分别为n1,n2......nk,令s的大小为n... 阅读全文
摘要:
http://codeforces.com/contest/465/problem/C题意:给你一个字符串,然后按照字典序找出下一个字符串,这个字符串中不能含有长度大于等于2的子串为回文串,如果含有输出,否则输出NO;思路:判断回文串时只需判断要修改的i位置,i+1位置和i+2位置是不是与这个要修改... 阅读全文
摘要:
http://codeforces.com/contest/459/problem/D题意:给你n个数,然后统计多少组(i,j)使得f(1,i,ai)>f(j,n,aj);思路:先从左往右统计f(1,i,ai)记录在b[i],然后从右往左统计f(j,n,aj)记录在c[i],然后利用树状数组统计个数... 阅读全文
摘要:
题意:一个筛子有m个面,然后扔n次,求最大值的期望;思路:最大值为1 有1种,2有2n-1种, 3有3n -2n 种 所以为m的时有mn -(m-1)n 种,所以分别求每一种的概率,然后乘以这个值求和就可以。 1 #include 2 #include 3 #include 4 #inclu... 阅读全文
摘要:
http://codeforces.com/contest/451/problem/D题意:给你一个字符串,然后找出奇数和偶数长度的子串的个数,这些字串符合,通过一些连续相同的字符合并后是回文串。思路:因为这些字符串中的字符只有'a','b',所以首位相同的字串都可以满足,这样就分别统计奇数和偶数位... 阅读全文
摘要:
http://codeforces.com/contest/450/problem/C题意:一个n×m的矩形,然后可以通过横着切竖着切,求切完k次之后最小矩形面积的最大值。思路:设k1为横着切的次数,k2为竖着切的次数,最后的面积的大小为s=n/(k1+1)*(m/(k2+1)); 只有(k1+1)... 阅读全文
摘要:
http://codeforces.com/contest/447/problem/C题意:给你n个数的序列,然后让你改变其中的一个数,求得最长上升连续序列的长度值。思路:先从左边开始求出连续递增序列的值记录在l数组,然后从右边开始再求一遍连续递增序列的值记录在r数组中,然后从2-n-1位置遍历,改... 阅读全文
摘要:
http://codeforces.com/contest/448/problem/D题意:一个n×m的矩阵,a[i][j]=i*j; 然后把a数组排序,找出第k个数。思路:1-n×m二分枚举,然后统计比小于等于x的数的个数与k相比较。 1 #include 2 #include 3 #incl... 阅读全文
摘要:
http://codeforces.com/contest/448/problem/C题意:给你n宽度为1,高度为ai的木板,然后用刷子刷颜色,可以横着刷、刷着刷,问最少刷多少次可以全部刷上颜色。思路:dp[i][j] 表示在第i列以后的木板都已刷完且第j列的木板是横着刷的,最少需要的次数。如果a[... 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=5067思路:问题可以转化成:从某一点出发,遍历网格上的一些点,每个点至少访问一次需要的最小时间是多少。这就是经典的旅行商问题,考虑到我们必须要遍历的点只有不到10个,可以用状态压缩解决。dp[i][j]表示i状态的... 阅读全文