02 2015 档案
摘要:一道模拟题不过要担心的是牛或者人在转弯的时候,另一方如果能走,那么要走,不能停留。还是蛮简单的。调试输出的话可以看到具体追击过程Source Code:/*ID: wushuai2PROG: ttwoLANG: C++*///#pragma comment(linker, "/STACK:16777...
阅读全文
摘要:一道经典的Dp..01背包定义dp[i] 为需要构造的数字为i 的所有方法数一开始的时候是这么想的 for(i = 1; i 0){ dp[i] += dp[i - a[j]]; } } }状态存在冗余, 输出的时候答案...
阅读全文
摘要:给一个N 表示1 2 3 ...N求出所有 zero sum的情况【简单Dfs 即可】 运算结果的时候我使用了一个stack...比如N = 7那么要求输出1+2-3+4-5-6+71+2-3-4+5+6-71-2 3+4+5+6+71-2 3-4 5+6 71-2+3+4-5+6-71-2-3-4...
阅读全文
摘要:一道经典Dp.定义dp[i][j] 表示由i个节点,j 层高度的累计方法数状态转移方程为: 用i个点组成深度最多为j的二叉树的方法树等于组成左子树的方法数乘于组成右子树的方法数再累计。 & / \ @ # / \ @ @如图中 & 为顶点, @ 为左子树, # 为右子树需要注意的...
阅读全文
摘要:用Dp的思想解决了这道题目,也就是所谓的暴力= =题意:给出一个集合,一个字符串,找出这个字符串的最长前缀,使得前缀可以划分为这个集合中的元素(集合中的元素可以不全部使用)。还不会Trie 树QAQSource Code:/*ID: wushuai2PROG: prefixLANG: C++*///...
阅读全文
摘要:写这道题目的时候遇到了一个令人诧异的问题,就是平台上跑来的结果和我本机跑起来的结果不一样。后来Debug了之后才发现是我数组开小了,只开到100 的数组竟然都去访问他170位的地址肯定要跪成翔啊...好吧,解释一下题意。有N盏台灯,C次操作每次操作可以按一次按钮,一共一个四个按钮可以得出的规律是每6...
阅读全文
摘要:根据题意的 Runaround 规则去找比当前数大的最近的一个 Runaround数字模拟题~Source code:/*ID: wushuai2PROG: runroundLANG: C++*///#pragma comment(linker, "/STACK:16777216") //for c...
阅读全文
摘要:又是去理解了一次01背包。这道题目的意思就是给你一个N (N #include #include #include #include #include #include #include #include #include #include #include #include #define Max...
阅读全文
摘要:一开始看到这道题目的时候,感觉好难还要算出罗马的规则。但是仔细一看,数据规模很小, n 只给到3500看完题目给出了几组样例之后就有感觉了解题方法就是:n的每个十进制数 转换成相应的罗马数字,然后统计每个罗马数字出现的次数即可还是一道简单的构造题。(以下摘自https://www.byvoid.co...
阅读全文
摘要:我还是用了很朴素的暴力匹配A了这题,不得不感叹USACO时间放的好宽.../*ID: wushuai2PROG: hammingLANG: C++*///#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#include #in...
阅读全文
摘要:使用排列组合,遍历所有可能的情况C(1)+C(2)+C(3)……C(n)= 2^G种组合数据规模不大,暴力过去最多也就是2^15 = 23768种情况所以就暴力咯,不过还是Debug了一会Source Code:/*ID: wushuai2PROG: holsteinLANG: C++*///#pr...
阅读全文
摘要:bool prime(int n){ int i = 7, j, q; if(n == 1) return false; if(n == 2 || n == 5 || n == 3) return true; if(n % 2 == 0 || n % 3 == 0 || ...
阅读全文
摘要:题目很好理解,问你的是在所给的图中周长最长的矩形是多长嗯用坐标(x1, y1, x2, y2)表示一个矩形,暴力图中所有矩形易得递推式:(x1, y1, x2, y2)为矩形的充要条件为: (x1, y1, x2, y2) 和 (x1, y1, x2, y2)为合法矩形,即全部为0Point(x2,...
阅读全文
摘要:整整10个月后第二次搞这个问题才搞懂........第一次还是太随意了。解题思路:经过打表可得规律答案要么是0 要么是2的N次 - 1要得到最大的XOR值,其值一定是2的N次 - 1即在 l 和 r 的二进制中,从左到右遍历过去,如果碰到 (2 ^ i) & l 为 1 , (2 ^ i) & r ...
阅读全文
摘要:也是一道dp ,想到了就会觉得很巧妙矩阵中只有白块和黑块,要求repaint后满足下述条件:每列一种颜色根据输入范围x, y 要求条纹宽度在[x, y] 之间数据范围:n,m,xandy(1 ≤ n, m, x, y ≤ 1000;x ≤ y).求:满足条件最少repaint的次数自己在YY的时候觉...
阅读全文
摘要:这道题目的意思是给你提供a, b, n 三个数a为 输入的数字 ,你需要在a后面加n次 ,每次可以加0-9但要保证每次加上去的那个数字能被b整除 不过数据规模有点大,用搜索会MLE(即使开了个开栈挂#pragma comment(linker, "/STACK:16777216") //for c+...
阅读全文
摘要:非常感谢 Potaty 大大的援助使得我最后A出了这两题DP==================================189A : 求切分后的ribbon最多的数目,不过要求切分后只能存在a or b or c 的长度O(n)的效率:遍历下来求 f[i - a]、f[i - b]、 f[i...
阅读全文
摘要:好久好久,都没有写过搜索了,看了下最近在CF上有一道DFS水题 = =数据量很小,爆搜一下也可以过额外注意的就是防止往回搜索需要做一个判断。Source code://#pragma comment(linker, "/STACK:16777216") //for c++ Compiler#incl...
阅读全文
摘要:这道题目有人用DFS、有人用DP我觉得还是最简单的贪心解决也是不错的选择。Ok,不废话了,这道题目的意思就是原先存在一个严格递增的Arrary_A,然后Array_A[i] 的每位之和为Array_B[i]现在给你一个Array_B, 让你在条件:Array_A[len] Minimize下求出次数...
阅读全文