04 2014 档案
摘要:题目题意:求任意连续序列的最大值,这个连续序列可以和其他的 值交换k次,求最大值思路:暴力枚举所有的连续序列。没做对是因为 首先没有认真读题,没看清交换,然后,以为是dp或者贪心用了一下贪心,各种bug不对。这次用了一下优先队列,以前用的不多,看这个博客又学了一下AC代码: 1 #include ...
阅读全文
摘要:题目比赛的时候找出规律了,但是找的有点慢了,写代码的时候出了问题,也没交对,还掉分了。。。。还是先总结一下位移或的性质吧:1、 交换律a ^ b = b ^ a2、 结合律(a^b) ^ c = a ^ (b^c)3、 0^a = a;4、 a^a = 0; a^a^a = a;5、 知道a,b,...
阅读全文
摘要:题目题意:给一个数N,两人轮流操作每次将N变为一个N的非1非自身的因数,第一个无法进行操作的人获胜问先手是否有必胜策略,如果有的话在第二行输出第一步换成哪个数,如果第一步就不能操作则输出0数据规模:N≤10^13。思路:当N为1或者质数时,先手胜且输出0当N恰为两个质数的乘积时,先手负,因为他必须写...
阅读全文
摘要:题目题意: 给一个字符串 ,判断最少插入多少个字符 使字符串成为回文串, 并输出回文串。思路:先用dp判断需要个数, 再递归输出路径。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define ...
阅读全文
摘要:题目以前做过的一道题, 今天又加了一种方法 整理了一下。。。。。题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符。方法一:将该字符串与其反转求一次LCS,然后所求就是n减去 最长公共子串的长度。额,,这个思路还是不是很好想。LCS: 1 #include 2 #include 3 ...
阅读全文
摘要:题目思路:edit(i, j),它表示第一个字符串的长度为i的子串到第二个字符串的长度为j的子串的编辑距离。有如下动态规划公式:if i == 0 且 j == 0,edit(i, j) = 0if i == 0 且 j > 0,edit(i, j) = jif i > 0 且j == 0,edit...
阅读全文
摘要:题目思路:比赛的时候有想过找循环节,但是,打表打错了。 后来,看着过了挺多人,就急了, 看了一下别人的时间 耗时都挺长的,就以为不是找规律,没想到真是找规律,不过,这个题的数据可能挺大的。AC代码: 1 #include 2 #include 3 #include 4 #include 5 ...
阅读全文
摘要:题目题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间。思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考虑的)。只是需要判断总数的平均值 和 耗时最大的一道菜 哪个最大。。 1 #include 2 #in...
阅读全文
摘要:题目求括号的最大匹配数。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 bool match(char a, char b)10 {11 ...
阅读全文
摘要:题目 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 double G[110][110], sum; 9 const double pi = acos(-1); 10 const int INF = (1= pi+pi) 21 dlng -= (pi+pi); 22 if(dlng > pi) 23 dlng = pi+pi-dlng; 24 lat1 *= pi/180; 25 ...
阅读全文
摘要:next_permutation功能: 求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 与之完全相反的函数还有prev_permutation这个博客介绍的比较好自己写了一个用法的样例: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 char s[100]; 9 int len, cnt;10 while(cin>>s)11 {12 len = strlen(s);13 cnt = 0;14 ...
阅读全文
摘要:题目题意:在三维坐标系中,给定n个立方体的中心坐标,立方体的边长为1,按照输入顺序,后来输入的必须和之前输入的立方体有公共的边。而且,不能和之前输入的立方体相同。如果满足条件,输出表面积。如果不满足,输出不符合条件的那一组。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 struct node10 {11 int x, y, z;12 }p[110], m;13 int dx[10] = {0,0,0,0,1,-1};14 int d...
阅读全文
摘要:题目题意:求输入的数字的递归回文。思路:答案等于这个数字一半之前的所有的 之和。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 9 int main()10 {11 int ca, t, i, j, x;12 int f[1100];13 f[0] = 1; f[1] = 1;14 for(i = 2; i >t;22 for(ca = 1; ca >x;25 printf("%d %d\n...
阅读全文
摘要:题目先上一个链接:十个利用矩阵乘法解决的经典题目这个题目和第二个类似由于矩阵乘法具有结合律,因此A^4 = A * A * A * A = (A*A) * (A*A) = A^2 * A^2。我们可以得到这样的结论:当n为偶数时,A^n = A^(n/2) * A^(n/2);当n为奇数时,A^n = A^(n/2) * A^(n/2) * A (其中n/2取整)。这就告诉我们,计算A^n也可以使用二分快速求幂的方法。例如,为了算出A^25的值,我们只需要递归地计算出A^12、A^6、A^3的值即可。根据一些结果,我们可以在计算过程中不断取模,避免高精度运算。思路:如果直接相乘的话,时间复杂度
阅读全文
摘要:题目上次比赛的题目,好长时间了。这几天感冒了很难受, 直到现在才整理,上次比赛的时候,出了各种错误, ,,,样例都没过,题目读的也很差,今天做的时候,看了一下网上的,发现一个代码特别简洁,学习了一下。不过,在hdu交的时候,交c++会编译错误,不知道怎么回事,两次了,G++能过。题意:给n个字符串和它们代表的值,求下面m个式子是否成立。字符串对应的值有一位小数, 式子上的值是整数 (比赛的时候根本 没注意这个) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace s...
阅读全文
摘要:因为感觉比较有用。这几次比赛,用过几次,所以写个程序,总结一下。如果用sscanf(s, "%d.%d", &a, &b); 的时候,一定要注意是否s里一定有小数点。 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 {...
阅读全文

浙公网安备 33010602011771号