上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页
摘要: 题目题意:给一个数N,两人轮流操作每次将N变为一个N的非1非自身的因数,第一个无法进行操作的人获胜问先手是否有必胜策略,如果有的话在第二行输出第一步换成哪个数,如果第一步就不能操作则输出0数据规模:N≤10^13。思路:当N为1或者质数时,先手胜且输出0当N恰为两个质数的乘积时,先手负,因为他必须写... 阅读全文
posted @ 2014-04-24 12:23 水门 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 题目题意: 给一个字符串 ,判断最少插入多少个字符 使字符串成为回文串, 并输出回文串。思路:先用dp判断需要个数, 再递归输出路径。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define ... 阅读全文
posted @ 2014-04-24 10:54 水门 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目以前做过的一道题, 今天又加了一种方法 整理了一下。。。。。题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符。方法一:将该字符串与其反转求一次LCS,然后所求就是n减去 最长公共子串的长度。额,,这个思路还是不是很好想。LCS: 1 #include 2 #include 3 ... 阅读全文
posted @ 2014-04-17 20:46 水门 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目思路: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... 阅读全文
posted @ 2014-04-15 19:47 水门 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目思路:比赛的时候有想过找循环节,但是,打表打错了。 后来,看着过了挺多人,就急了, 看了一下别人的时间 耗时都挺长的,就以为不是找规律,没想到真是找规律,不过,这个题的数据可能挺大的。AC代码: 1 #include 2 #include 3 #include 4 #include 5 ... 阅读全文
posted @ 2014-04-14 20:24 水门 阅读(453) 评论(1) 推荐(0) 编辑
摘要: 题目题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间。思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考虑的)。只是需要判断总数的平均值 和 耗时最大的一道菜 哪个最大。。 1 #include 2 #in... 阅读全文
posted @ 2014-04-13 21:35 水门 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 题目求括号的最大匹配数。 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 ... 阅读全文
posted @ 2014-04-13 21:05 水门 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目 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 ... 阅读全文
posted @ 2014-04-11 21:20 水门 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 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 ... 阅读全文
posted @ 2014-04-11 20:57 水门 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目题意:在三维坐标系中,给定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... 阅读全文
posted @ 2014-04-03 20:39 水门 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目题意:求输入的数字的递归回文。思路:答案等于这个数字一半之前的所有的 之和。 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... 阅读全文
posted @ 2014-04-03 19:32 水门 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目先上一个链接:十个利用矩阵乘法解决的经典题目这个题目和第二个类似由于矩阵乘法具有结合律,因此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的值即可。根据一些结果,我们可以在计算过程中不断取模,避免高精度运算。思路:如果直接相乘的话,时间复杂度 阅读全文
posted @ 2014-04-01 21:00 水门 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 题目上次比赛的题目,好长时间了。这几天感冒了很难受, 直到现在才整理,上次比赛的时候,出了各种错误, ,,,样例都没过,题目读的也很差,今天做的时候,看了一下网上的,发现一个代码特别简洁,学习了一下。不过,在hdu交的时候,交c++会编译错误,不知道怎么回事,两次了,G++能过。题意:给n个字符串和它们代表的值,求下面m个式子是否成立。字符串对应的值有一位小数, 式子上的值是整数 (比赛的时候根本 没注意这个) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace s... 阅读全文
posted @ 2014-04-01 01:42 水门 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 因为感觉比较有用。这几次比赛,用过几次,所以写个程序,总结一下。如果用sscanf(s, "%d.%d", &a, &b); 的时候,一定要注意是否s里一定有小数点。 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 {... 阅读全文
posted @ 2014-04-01 00:48 水门 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 做了三个题,先贴一下代码。。。终于涨分了A. Line to Cashier水题 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 const int INF = (1>n)15 {16 Min = INF;17 for(i = 0; i >a[i];19 for(i = 0; i >b;26 ans += b*5;27 }28 ... 阅读全文
posted @ 2014-03-30 18:37 水门 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意:给n个数字, 求有k个数字的上升子序列有多少种。思路:d[i][j]表示 以第i个元素为 子序列的最后一个元素,长度为j的子序列 有多少种。比赛的时候 光想着用组合数做了。。。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int maxn = 110; 8 9 __int64 d[maxn][maxn];10 int a[maxn];11 int main()12 {13 __int64 ans;14 int k, i, ... 阅读全文
posted @ 2014-03-29 10:30 水门 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意:n个人, 要完成a个x任务, b个y任务。求,最短的时间思路:由于时间较大,用 二分来找时间。dp[i][j]表示 i个人完成j个x任务, 最多能完成的y任务个数这个题 不是很好想, 还参考了一下大神的博客 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int maxn = 1000+10; 8 int d[55][205]; 9 10 int _max(int a, int b)11 {12 return a>b?a:b;13 }14 ... 阅读全文
posted @ 2014-03-25 21:08 水门 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 也是比赛时候的一道题目, 但是这么构造,超时,不过也是一个构造字符串的好的程序。贴一下模板的吧s[]数组,刚开始是 输入一个字符串,get()函数的作用是 按照字典序,依次构造这个字符串,并存储在s[]数组中.直到所有的字符串构造 完成。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N=1050; 8 char s[N]; 9 int l;10 int get()11 {12 int i = l-1;13 while(i>0&&s[i.. 阅读全文
posted @ 2014-03-24 19:58 水门 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2831题意:给a, b, c, d, e, f 6个点abgh是平行四边形。def是三角形。面积相等。求点 g, h的坐标思路:1. DE*DF/2 = AH*AB; (向量DE叉乘向量DF,除以2, 等于 向量AH叉乘 AB)2. AH = k AC; (向量AH 等于 k倍的向量AC)将2式代入1式。就可以求得。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #in. 阅读全文
posted @ 2014-03-24 12:45 水门 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 转载自http://blog.csdn.net/william001zs/article/details/6213485矢量 如果一条线段的端点是有次序之分的话,那么这种线段就称为 有向线段,如果有向线段p1p2的起点p1在坐标的原点,则可以把它称为矢量 p2矢量的加减 设二维矢量 P = (x1,... 阅读全文
posted @ 2014-03-24 11:38 水门 阅读(3928) 评论(0) 推荐(1) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页