03 2017 档案

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1536 题意:首先输入K 表示一个集合的大小 之后输入集合 表示对于这对石子只能去这个集合中的元素的个数 之后输入 一个m 表示接下来对于这个集合要进行m次询问 之后m行 每行输入一个n 表示有n个堆 每 阅读全文
posted @ 2017-03-31 21:49 geloutingyu 阅读(250) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:中文题诶~ 思路:直接sg函数打表就好了 代码: 1 #include <iostream> 2 #include <string.h> 3 #define MAXN 3010 4 usin 阅读全文
posted @ 2017-03-31 20:40 geloutingyu 阅读(556) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850 题意:中文题诶~ 思路:nim博弈 可以将本题抽象成一般nim博弈,那么有: 1. 对于所有元素异或值为0的情况为P局面 2. 若a1^a2...^ai...^an=m!=0,那么一定存在一个ai 阅读全文
posted @ 2017-03-31 19:38 geloutingyu 阅读(306) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847 题意:中文题诶~ 思路:直接sg函数打表即可,观察打表的结果发现是有规律的,sg函数的值只为0, 1, 2,所以我们只需n%3即可得出答案; 回过头来我们可以这样想,对于3的倍数的数,无论如何操作 阅读全文
posted @ 2017-03-30 22:00 geloutingyu 阅读(1101) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:给出一个n*m的矩阵,一开始有个点在最右上方, 两个人轮流移动点,可以向左移一格,或者向下移动一格,或者向左下方移动一格,谁先移到最左下方谁赢; 我们可以将题目抽象为将点从坐标(a, b)移 阅读全文
posted @ 2017-03-30 19:17 geloutingyu 阅读(193) 评论(0) 推荐(0)
摘要:关于sg函数:http://www.cnblogs.com/Knuth/archive/2009/09/05/1561007.html 题目链接:http://poj.org/problem?id=2311 思路: 就我而言,首先遇到的第一个问题就是抽象不出博主在《Game theory初步》(在前 阅读全文
posted @ 2017-03-29 20:53 geloutingyu 阅读(308) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/792/problem/D 题意:第一行输入n, q,分别表示给出一颗n个节点的中序遍历满二叉树,后面有q个询问; 接下来有q组形如: x str 的输入,x为当前所在节点的序号,str为一个操作字符串,对于其中每一个字符, 若其 阅读全文
posted @ 2017-03-29 19:11 geloutingyu 阅读(521) 评论(0) 推荐(0)
摘要:题目链接:http://abc057.contest.atcoder.jp/tasks/abc057_d 题意:给出n个数,可以选择x~y个数,使其平均值最大,求其最大平均数以及选择方案数。 思路:只考虑两种情况即可: 1. 最大的数出现次数大于x, 那么最大平均数及为最大数,选择方案数为C(b[0 阅读全文
posted @ 2017-03-27 19:43 geloutingyu 阅读(285) 评论(0) 推荐(0)
摘要:我们用g(x)表示x的欧拉函数值,即1~x与x互质的数的个数 欧拉函数公式为: g(x)= y*((x1-1)/x1)*((x2-1)/x2)*((x3-1)/x3)....(其中x1, x2, x3....为质数) 证明: 1. 对于质数x,有g(x)=x-1 2. 对于x^h,其中x为质数,那么 阅读全文
posted @ 2017-03-26 13:01 geloutingyu 阅读(357) 评论(0) 推荐(1)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 题意:给出一个n*m的矩阵,' . ' 表示可以走的路, ' # '表示不能走的路 ,’ @'表示KCF, ‘Y' , 'M' 表示两个人开始的位置, 他们可以走到相邻的路,每走一步需要11分钟, 阅读全文
posted @ 2017-03-25 20:42 geloutingyu 阅读(111) 评论(0) 推荐(0)
摘要:1 #include 2 using namespace std; 3 4 int &gg(int b[10], int a[10]){ 5 for(int i=0; i<10; i++){ 6 b[i]=a[i]; 7 } 8 } 9 10 int main(void){ 11 int b[10], a[10]; 12 f... 阅读全文
posted @ 2017-03-25 20:26 geloutingyu 阅读(132) 评论(0) 推荐(0)
摘要:题目链接:http://qscoj.cn/problem/52/ 题意:中文题诶~ 思路:水题,只要知道三角形插值和判断点在三角形内就OK了 关于三角形插值:http://www.cnblogs.com/wangchengfeng/p/3453194.html 先判断插入点是否在三角形内,在的话解二 阅读全文
posted @ 2017-03-22 21:15 geloutingyu 阅读(618) 评论(0) 推荐(0)
摘要:1. 海伦公式 s=sqrt(p*(p-a)*(p-b)*(p-c)) 其中a, b, c分别为三角形三边长, p为半周长; 代码: 1 #include <iostream> 2 #include <stdio.h> 3 #include <math.h> 4 #define distance(a 阅读全文
posted @ 2017-03-22 21:01 geloutingyu 阅读(497) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2476 题意:给出两个字符串str1, str2,每次操作都可以将任意区间所有字符改成某个字符,问最少需要几次操作可以将字符串str1变成str2; 思路:区间dp 写过一道和本题很像的题目:http:/ 阅读全文
posted @ 2017-03-22 19:46 geloutingyu 阅读(912) 评论(0) 推荐(0)
摘要:题目链接:http://qscoj.cn/problem/54/ 题意:中文题诶~ 思路:区间dp 我们可以用dp[i][j]存储区间[i, j]最少需要的打印次数,若没有相同的字母,那么需要的打印次数为dp[i+1, j]+1 (尾字符放在外层循环枚举,首字符放在内一层循环枚举,至于原因在后面会说 阅读全文
posted @ 2017-03-21 22:15 geloutingyu 阅读(369) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/791/problem/D 题意:给出一棵树,每两个点之间的距离为1,一步最多可以走距离 k,问要将任意两个点之间的路径都走一遍,最少需要走多少步; 思路:对于不是很简单的问题我们可以将问题分解成若干步或许会简单一点,对于本题我们 阅读全文
posted @ 2017-03-20 20:46 geloutingyu 阅读(233) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/contest/791/problem/B 题意:给出一个无向图,问是否满足若存在边ab, bc则存在边ac; 思路:题意即,对于一个点,其所有子节点都是相互可达的,即为完全图,不过给出的不一定是连通图,所以我们需要判断所有连通分支是否全为为完全 阅读全文
posted @ 2017-03-20 16:06 geloutingyu 阅读(1297) 评论(0) 推荐(0)
摘要:题目链接:http://lx.lanqiao.cn/problem.page?gpid=T37 题意:中文题诶~ 思路:nim博弈 个人感觉这题最难的地方是将题目转换为博弈模型,如果能将之转换为博弈模型的话题目也就迎刃而解啦; 本题的解法是将相邻的两个和尚之间的台阶数目看做一堆石头,那么就变成nim 阅读全文
posted @ 2017-03-18 22:28 geloutingyu 阅读(239) 评论(0) 推荐(0)
摘要:题目链接:http://lx.lanqiao.cn/problem.page?gpid=T35 题意:中文题诶~ 思路:dfs 假设star 和 end之间总路径数目为ans, 那么若经过路径上某点到达终点的路径数为ans,则此点必为割点(所有路径都要经过此点,去掉了s就到不了e了嘛~); 所以我们 阅读全文
posted @ 2017-03-17 21:44 geloutingyu 阅读(158) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/706/C 题意:给出n个字符串,反转第 i 个字符串需要花费 ai,问通过反转操作将n个字符串变成升序排列,最小花费是多少,不能使其升序排列的话输出-1; 思路:dp 不难想到只有当前字符串的前一个字符串会 阅读全文
posted @ 2017-03-16 17:16 geloutingyu 阅读(249) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/414/B 题意:定义所有元素是其前一个元素的倍数的数列为good sequence,给出 n, 和 k,求1....n组成的长度为k的good sequence 的数目; 思路:dp 用dp[i][j]存储 阅读全文
posted @ 2017-03-15 19:52 geloutingyu 阅读(227) 评论(0) 推荐(0)
摘要:gcd:http://www.cnblogs.com/geloutingyu/p/6209026.html exgcd:http://www.cnblogs.com/geloutingyu/p/5934974.html 乘法逆元:http://www.cnblogs.com/geloutingyu/ 阅读全文
posted @ 2017-03-14 18:28 geloutingyu 阅读(161) 评论(0) 推荐(0)
摘要:最短路模板:http://www.cnblogs.com/geloutingyu/p/6511586.html 次短路模板:http://www.cnblogs.com/geloutingyu/p/6528406.html k短路模板: http://www.cnblogs.com/geloutin 阅读全文
posted @ 2017-03-14 18:08 geloutingyu 阅读(154) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=3164 题意:第一行为n, m,接下来n行为n个点的二维坐标, 再接下来m行每行输入两个数u, v,表点u到点v是单向可达的,求这个有向图的最小生成树即求最小树形图; 思路: 这是一道最小树形图模板题; 我们可以用朱刘算法来解: 朱刘算 阅读全文
posted @ 2017-03-12 13:01 geloutingyu 阅读(267) 评论(0) 推荐(0)
摘要:题目链接:http://poj.org/problem?id=2449 题意:给出一个有向图,求s到t的第k短路; 思路:k短路模板题,可以用A_star模板过; 单源点最短路径+高级搜索A*;A*算法结合了启发式方法和形式化方法;启发式方法通过充分利用图给出的信息来动态地做出决定而使搜索次数大大降 阅读全文
posted @ 2017-03-10 20:28 geloutingyu 阅读(640) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1688 题意:第k短路,这里要求的是第1短路(即最短路),第2短路(即次短路),以及路径条数,最后如果最短路和次短路长度差1,则输出两种路径条数之和,否则只输出最短路条数。 思路:dijkstra变形,注 阅读全文
posted @ 2017-03-09 22:59 geloutingyu 阅读(206) 评论(0) 推荐(0)
摘要:floyd/dijkstra/bellmanford/spaf 模板: 1. floyd(不能处理负权环,时间复杂度为O(n^3), 空间复杂度为O(n^2)) floyd算法的本质是dp,用dp[k][i][j]表示以(1....k)为中间点,i, j之间的最短距离为多少,dp[0][i][j]即 阅读全文
posted @ 2017-03-08 21:51 geloutingyu 阅读(447) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/510/B 题意:判断图中是否有某个字母成环 思路:直接dfs就好了,注意判断条件:若下一个字母与当前字母相同且已搜过,则存在满足题意的环 代码: 阅读全文
posted @ 2017-03-03 19:15 geloutingyu 阅读(220) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/687/A 题意:给出一个n个点m条边的图,分别将每条边连接的两个点放到两个集合中,输出两个集合中的点,若不可能则输出-1; 思路:通过画图我们不难发现,图中没有出现长度为奇数的环则是可行的,反之则是不行的. 阅读全文
posted @ 2017-03-02 22:13 geloutingyu 阅读(207) 评论(0) 推荐(0)