10 2016 档案
摘要:题意:A公司对B公司有控制权的条件是满足下面条件之一:A=B,A对B的股份超过50%,A控制的公司对B的股份之和超过50%。 分析:我把控制关系分个等级:第一级是直接的股份超过50%,第二级是至少需要隔着第一级控制的公司才能控制此公司,... 从第一级推到第二级,第二级推到第三级...结束条件是这一
阅读全文
摘要:v种货币,求有多少种组成和为n。 dp[i][j]表示前i种货币价格为j有多少种方案,dp[i][j]+=dp[i-1][j-c]。 http://train.usaco.org/usacoprob2?a=jUh88pMwCSQ&S=money
阅读全文
摘要:按字典序输出所有在123..n之间插入'+','-',' '结果为0的表达式。. http://train.usaco.org/usacoprob2?a=jUh88pMwCSQ&S=zerosum
阅读全文
摘要:问n个结点深度为k且只有度为2或0的二叉树有多少种。 dp[i][j]=dp[lk][ln]*dp[rk][j-1-ln],max(lk,rk)=i-1。 http://train.usaco.org/usacoprob2?a=chObWjKZP9z&S=nocows
阅读全文
摘要:sql的插入语句长这样: 我需要的Laravel的迁移插入语句长这样:
阅读全文
摘要:题意: 给你一个少于200000的字符串,求最长的可以划分为给定词典里的单词的前缀。 题解: dp[i]表示第i位结尾的前缀是否可行,然后枚举每一位如果dp[i-1]==1,枚举所有单词,匹配成功的单词,则dp[i+单词长度-1]=1。 注意读入单词是以'.'作为结束,而读入字符串,有可能是很多行,
阅读全文
摘要:四种开关,n盏灯,1:改变所有灯状态,2:改变奇数灯状态,3:改变偶数灯状态,4:改变3k+1灯状态 给你按开关的总次数c和部分灯限制条件(开或关),一开始都是开着的。() 我直接考虑每个开关按了奇数次或偶数次,因为顺序和总次数不影响结果,重要的是每
阅读全文
摘要:找出第一个大于n的数满足:每一位上的数都不同,且没有0,第一位开始每次前进当前这位上的数那么多位,超过总位数就回到开头继续往前进,最后能不能每个位都到过一次且回到第一位,。 暴力,每次n++后模拟一边判断是否符合条件。
阅读全文
摘要:http://poj.org/problem?id=1698 电影和日子匹配,电影可以匹配多个日子。 最多有maxw*7个日子。 二分图多重匹配完,检查一下是否每个电影都匹配了要求的日子那么多。
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3938 两点之间建立传送门需要的能量为他们之间所有路径里最小的T,一条路径的T为该路径上最长的边的长度。现在 Q 个询问,问 L 能量可以选择多少种不同点对? 因为小的能量找出的点对,在大的能量下肯定也能建立传送门
阅读全文
摘要:Problem A。 Best Matched Pair 找出最大的每一位递增1的一对乘积,枚举 Problem B。 Help the Princess! 公主能否逃到出口且不被士兵们赶上。 从出口bfs,如果出口离公主比离任意一个士兵近,则可以逃出。 Problem D。 Paren
阅读全文
摘要:N (1 <= N <= 39),问有多少种把1到N划分为两个集合的方法使得两个集合的和相等。 如果总和为奇数,那么就是0种划分方案。否则用dp做。 dp[i][j]表示前 i 个数划分到一个集合里,和为j的方法数。 dp[i][j]=dp[i-1][j]+dp[i][j-i] n 为 39 时,1
阅读全文
摘要:海洋包围的小岛,岛内的有湖,'.'代表水,'*'代表陆地,给出的n*m的地图里至少有k个湖,求填掉面积尽量少的水,使得湖的数量正好为k。 dfs找出所有水联通块,判断一下是否是湖(海水区非湖)。将湖按面积排序,若湖的数量为cnt,填掉前cnt-k个湖。 http://codeforces.com/p
阅读全文
摘要:n个数,用最少的次数来改变数字,使得1到m出现的次数的最小值最大。输出最小值和改变次数以及改变后的数组。 最小值最大一定是n/m,然后把可以改变的位置上的数变为需要的数。 http://codeforces.com/problemset/problem/723/C Examples input 4
阅读全文
摘要:求括号外最长单词长度,和括号里单词个数。 有限状态自动机处理一下。 http://codeforces.com/problemset/problem/723/B Examples input 37_Hello_Vasya(and_Petya)__bye_(and_OK) output 5 4 inp
阅读全文
摘要:求 1~n 的所有罗马数字表达中,出现过的每个字母的个数。 分别对每个数的罗马表达式计算每个字母个数。 对于十进制的每一位,都是一样的规则,只是代表的字母不同。 于是我们从最后一位往前考虑,当前位由字母 s[i] 代表 1,字母 s[i+1] 代表 5,s[i+2] 代表 10(在下一次代表1)。
阅读全文
摘要:题意 输入一个含有 n(1≤n≤100000) 个非负整数的 a 数组和一个 1~n 的排列 p 数组,求每次删除 a[p[i]] 后,最大连续子段和(不能跨越被删除的)是多少? 分析 因为都是非负整数,答案一定是尽量长的区间和。 s[i] 表示 a 的前缀和,区间(l,r]的和就是s[r]-s[l
阅读全文