摘要:题目链接:http://poj.org/problem?id=1981解题思路:枚举两个点,求过这两点的单位圆,判断有多少个点在圆中。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1981 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2149解题思路:典型的巴什博弈(巴什博弈:http://www.cnblogs.com/linqiuwei/p/3227146.html) 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2149 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188解题思路:典型的巴什博弈(巴什博弈:http://www.cnblogs.com/linqiuwei/p/3227146.html) 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2188 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1846解题思路:典型的巴什博弈(巴什博弈:http://www.cnblogs.com/linqiuwei/p/3227146.html) 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1846 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2717解题思路:BFS 搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 2717 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include ..
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548解题思路:BFS 搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1548 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #i...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4586解题思路:设期望值为 E, sum=a[1]+a[2]+···+a[n], 由于有m 个是再来一次机会,故有E=sum/n+(m/n)*E.化简得:(n-m)*E=sum. 若sum=0,则 E=0; 若n=m, 则 E 为inf;否则 E=sum/(n-m). 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 458
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1095题目大意:求正整数 n 的真因子之和解题思路:类似素数筛法 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2095 3 //user_id: SCNU20102200088 4 ////////////////////////////////////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704解题思路:容易求得 S(1)+S(2)+···+S(N)=2N-1, 则 (S(1)+S(2)+···+S(N))%1000000007=2N-1%1000000007.记 Mod=1000000007, 由 Euler-Fermat 定理有:2Mod-1≡1 (mod Mod),从而有2N-1≡2(N-1) mod (Mod-1)(mod Mod). 1 ///////////////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=1631题目大意:求最长上升子序列的长度解题思路:dp+二分搜索,时间复杂度为 O(n·logn). 直接 dp时间复杂度 O(n2), 会 TLE. 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1631 3 //user_id: SCNU20102200088 4 //////////////////////////////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=2533题目大意:求最长上升子序列的长度解题思路:简单 dp, 时间复杂度 O(n2), 另有时间复杂度为 O(n·logn) 的算法,读者可自行思考。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2533 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=1887题目大意:求最长非增子序列的长度解题思路:简单 dp, 时间复杂度 O(n2), 另有时间复杂度为 O(n·logn) 的算法,读者可自行思考。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1887 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=1088解题思路:贪心+简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1088 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1014解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1014 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1271解题思路:设所求为 x=a+b*10k+c*10k+1, 拿走 x 的第 k 位,得到 y=a+c*10k , 则 n=x+y=2*a+b*10k+11*c*10k . 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1271 3 //user_id: SCNU20102200088 4 /////////////////////////////
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=91解题思路:BFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 1091 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #i...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2913解题思路:BFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2913 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 ...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2478题目大意:给定一个整数 n ( 2≤n≤106), 求 phi(2)+phi(3)+···+phi(n).解题思路:简单题,主要是求 1-106的欧拉函数 phi(i), 方法与素数筛法类似。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2478 3 //user_id: SCNU20102200088 4 ///////////////////
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=649解题思路:BFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 1649 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1159题目大意:给一个字符串,求这个字符串最少增加几个字符能变成回文。解题思路:求该字符串与其反串的最长公共子序列(一定是回文)的长度,则所求为:该字符串的长度 - 最长公共子序列的长度。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1159 3 //user_id: SCNU20102200088 4 ///////////////////////////////////////
阅读全文
摘要:题目链接:http://poj.org/problem?id=2250题目大意:求两段文字的最长公共字串(有多组解时输出任意一种都行)解题思路:简单dp+搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2250 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1458题目大意:求两个字符串的公共子序列的最长长度解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1458 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #inclu..
阅读全文
摘要:题目链接:http://poj.org/problem?id=1953题目大意:给定一个小于 45 的整数 n, 求 n 位 2 进制数中不含相邻 1 的数的个数。解题思路:记n 位 2 进制数中不含相邻 1 的数的个数为 F[n], 以其最后一位的数字进行分类处理:① 最后一位为 0, 则前 n-1 个数字只要合法就满足条件,此时有 F[n-1] 种。② 最后一位为 1, 则倒数第二位必须为 0, 其前 n-2 个数字只要合法就满足条件,此时有 F[n-2] 种。所以,F[n]=F[n-1]+F[n-2] (n≥3), 容易求得 F[1]=2, F[2]=3. (由于 F[44] 在 int
阅读全文
摘要:题目链接:http://poj.org/problem?id=2081解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 2081 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1579解题思路:简单dp 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1579 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include 9 #inc...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=8解题思路:DFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 1008 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #in...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2165解题思路:DFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2165 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3664解题思路:将i 加入到已有的有 i-1 个数的排列中的方法有以下三种:①把 i 放最后,加入后 E 值不变②把 i 和一个满足 a[k]>k 的数交换,交换后 E 值不变③把 i 和一个不满足 a[k]>k 的数交换,交换后 E 值加一记 i 个数的排列中 E 值为 j 的个数为dp[i][j], 则dp[i][j]=dp[i-1][j]+dp[i-1][j]*j+dp[i-1][j-1]*(i-j). 1 /////////////////////////////////////
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1412解题思路:DFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2412 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 ...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=709解题思路:DFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 1709 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1110解题思路:DFS搜索 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: zoj 2110 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 ...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2823解题思路:单调队列 或 RMQ 1 //解题方法:单调队列 2 3 /////////////////////////////////////////////////////////////////////////// 4 //problem_id: poj 2823 5 //user_id: SCNU20102200088 6 /////////////////////////////////////////////////////////////////////////// 7 8 #include ...
阅读全文
摘要:题目链接:http://acm.fzu.edu.cn/problem.php?pid=1894解题思路:单调队列 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: fzu 1894 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #inc...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754解题思路:线段树(单点更新) 1 /************************************************************************** 2 user_id: SCNU20102200088 3 problem_id: hdoj 1754 4 problem_name: I Hate It 5 ************************************************************************...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3264解题思路:RMQ(Range Minimum/Maximum Query). 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 3264 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7..
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166解题思路:线段树(单点更新) 1 /************************************************************************** 2 user_id: SCNU20102200088 3 problem_id: hdoj 1166 4 problem_name: 敌兵布阵 5 **************************************************************************/ ...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1363解题思路:STL —— stack 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1363 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 #include...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1028解题思路:STL —— stack 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: poj 1028 3 //user_id: SCNU20102200088 4 /////////////////////////////////////////////////////////////////////////// 5 6 #include 7 #include 8 ...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4745解题思路:首先将 k 进制表示的 s 转成十进制的 n, 然后在十进制下求最大的 t, 使得 kt整除 n! 且 kt+1不整除 n! .先求k的标准分解式为 k=p1a1p2a2···pmam, 由于2≤k≤62 , 故 k 最多可能有 2, 3, 5, 7 共 4 个素因子。再由 n! 中素数 p 的指数为 [n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #inc
阅读全文
摘要:题目链接:http://poj.org/problem?id=2992解题思路:不妨设C(n,k) 的标准分解式为 C(n,k)=p1a1p2a2···ptat..①n! 中素数 p 的指数为 np(n,p)=[n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #inc
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005解题思路:显然,直接迭代会 TLE , 由于结果 mod7 ,故 f(i),f(i+1) 的状态 (f(i),f(i+1)) 最多只有 7×7=49 种,可先求循环节长度,减少不必要的计算。注意:循环节不一定从 (1,1) 开始。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1005 3 //user_id: SCNU2010220
阅读全文