07 2014 档案

摘要:题意: 给出一个m叉树的前,后序遍历求这样的树有多少种。Solution: 我们知道前序遍历的第一个点一定是根节点,后序遍历的最后一个点一定是根节点。 由此,我们只一要确定对于每一个节点,它有多少个儿子节点,再累乘C(m,k)。code#include #include #in... 阅读全文
posted @ 2014-07-27 10:51 keambar 阅读(332) 评论(0) 推荐(0)
摘要:题意: 树的前,中序遍历求后序遍历。基础题。code#include #include using namespace std;string sq, sh;int len;void make (int l, int r, int t, int w) { if (l > r || t > w) r... 阅读全文
posted @ 2014-07-27 10:05 keambar 阅读(133) 评论(0) 推荐(0)
摘要:分析: 2*n个小朋友,每个最多有n-1个"敌人",显然是存在哈密顿回路的. 预处理边,然后找哈密顿回路.code#include #include #include #include #include using namespace std;#define pb push_back#def... 阅读全文
posted @ 2014-07-25 23:31 keambar 阅读(347) 评论(0) 推荐(0)
摘要:分析: 基础的欧拉路算法,变化在于要求每条边正向和反向各走一遍。 链式前向星构图,只要标记走过的单向边,边找边输出即可。code#include #include using namespace std;struct node { int v, ne;} edge[100009];int h... 阅读全文
posted @ 2014-07-25 16:34 keambar 阅读(189) 评论(0) 推荐(0)
摘要:简单的搜索,在n>10时,要打表code:#include#include#includeusing namespace std;const int maxn = 20, N = 14;int n, p[maxn], ans = 0;void dfs (int emp){ int i, j, p0[... 阅读全文
posted @ 2014-07-24 09:57 keambar 阅读(258) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:6M题意: 给出n(n#include #include #include #include #include using namespace std;struct node { int key, val, ID;} p;struct answer { int fa... 阅读全文
posted @ 2014-07-24 08:40 keambar 阅读(427) 评论(0) 推荐(0)
摘要:题意: 一个取火柴游戏,可以取的数在一个集合S内,S必包含1,且不超过9个数,每个数都不大于9.最后取完者失败。 求n(n#include int a[12],n,m;int SG[1060],hash[1060];void GetSG(int Array[], int N){ int... 阅读全文
posted @ 2014-07-22 09:30 keambar 阅读(298) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意 你的任务是找到最小自然数 N, 使N!在十进制下包含 Q个零. 众所周知 N! = 1*2*...*N. 例如, 5! = 120, 120 结尾包含1个零.Input 一个数 Q (0using namespace std;int check ... 阅读全文
posted @ 2014-07-17 19:04 keambar 阅读(229) 评论(0) 推荐(0)
摘要:不断向下取直到,忽略的数累计到一个百分比,给当前百分比加1。 这道题要避免处理浮点数,用余数来处理,不然会wa 9 #include #include using namespace std;int g[10001];int x, n, sum, le;int main() { cin >>... 阅读全文
posted @ 2014-07-17 16:21 keambar 阅读(280) 评论(0) 推荐(0)
摘要:非常烦人的题,思路比较简单,十分容易出错,细节非常重要。从四个不同的行走方向讨论经过的每一个格子。code:#include #include #include using namespace std;#define lb long double#define fi first#define se ... 阅读全文
posted @ 2014-07-17 15:32 keambar 阅读(251) 评论(0) 推荐(0)
摘要:所有代码都不超过40行。。。A:http://www.cppblog.com/willing/archive/2010/05/04/114304.htmlB:http://www.cnblogs.com/keam37/p/3849933.htmlC:http://www.cnblogs.com/ke... 阅读全文
posted @ 2014-07-16 23:21 keambar 阅读(182) 评论(0) 推荐(0)
摘要:Solution: 这其实是道很简单的题。 只要从一端开始,以‘+’或‘-’,任意一种开始找,找到与目标串最近的相同字符的距离就是需要交换的次数。 +++——— 对齐第一个‘-’ —+++—— ---... 阅读全文
posted @ 2014-07-16 23:04 keambar 阅读(162) 评论(0) 推荐(0)
摘要:没什么好说的离散化求逆序对,树状数组即可code#include #include #define INF 66666using namespace std;int A[INF], g[INF], pos[INF], n;long long ans;void update (int x, int k... 阅读全文
posted @ 2014-07-16 22:28 keambar 阅读(254) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:12M题意 给定一个合法的仅由'(',')'组成的括号序列,求它的下一个合法排列.假定'('f[j]; 将最后的‘)’和‘(’ 交换位置,再把后面所以的括号反转。即可得到我们需要的解。code:#include #include #include usi... 阅读全文
posted @ 2014-07-16 21:10 keambar 阅读(334) 评论(0) 推荐(0)
摘要:时间限制:0.5s空间限制:4M题意: 令X0=A, Xi=(a*Xi-1^2,b*Xi-1+c)%m; 求Xk,(0#include #include #include using namespace std;const int INF = 111111;vector ans;... 阅读全文
posted @ 2014-07-16 19:45 keambar 阅读(198) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M;题意: 给出一颗n(n#include #include #include using namespace std;#define mp make_pair#define fi first#define se second#define sz(x) ((int... 阅读全文
posted @ 2014-07-15 15:52 keambar 阅读(490) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题目 在离著名的国家Berland不远的地方,有一个水下工作站。这个工作站有N层。已知:是第层装有Wi的水,最多可以容纳Li的水,恐怖分子炸毁第i的代价是Pi。第i层一旦被炸毁,该层所有的水都将倾泻到第i+1层。如果某一层的水量超过了它的容量(即Li),那么该... 阅读全文
posted @ 2014-07-15 11:31 keambar 阅读(541) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 在一个N*N(N = T-1的时候还没有交集,表明黑王和白王已经相遇,总步数为T-1。总复杂度O(N)。代码: #include#includeusing namespace std;int n, d, st, ans;struct Point{ int... 阅读全文
posted @ 2014-07-13 19:07 keambar
摘要:时间限制:0.25s空间限制:4M题意: 一个人在一个周长为L的圆上跑,每个时间段(Ti)的速度(Vi)不一样,问最后他离起点的圆弧距离,周长是个有四位小数的浮点数,其它全是整数。Solution : 在遇到浮点数的时候,能避免处理就尽量避免处理。 这里只要将浮点数乘上1000... 阅读全文
posted @ 2014-07-13 18:33 keambar 阅读(247) 评论(0) 推荐(0)
摘要:时间:0.25s空间:4m题意: 其实就是求无环第K短路。 输入: 给出n,m,k,分别代表,n个点,m条边,第k长路。 接下来m行,三个整数x,y,z,分别代表x,y之间有条费用为x的双向路。保证没有重边。输出: 第一行两个数a,b,第k小费用a,和经过的点的... 阅读全文
posted @ 2014-07-13 16:45 keambar 阅读(467) 评论(0) 推荐(0)
摘要:题目: 两支地区ACM比赛的队伍决定为了国际决赛而在一起集训. 他们约定在某天的 X 时到 Y 时的某一时刻相会. 但由于他们很少按时到 (有的队伍比赛那天都会迟到), 他们没有设定一个确切的相遇时间. 然而, 它们约定先到的队伍要等待 Z 分钟(经过计算,他们认为如果过了这么久还没等... 阅读全文
posted @ 2014-07-13 13:55 keambar 阅读(147) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 有n(n#include #include #include #define INf 16666#define Maxn 0xfffffffusing namespace std;vector g[INf];int val[INf], f[INf];i... 阅读全文
posted @ 2014-07-12 21:00 keambar 阅读(710) 评论(0) 推荐(0)
摘要:时间限制:0.5s空间限制:16M题意 给出一个仅由'a',‘b’组成的字符串S,长度小于500 000,求一个由‘a’,‘b’组成的不是S子串的字符串T。 输出T的长度和T。Sample Input11aabaaabbbabSample Output4aaaaSolution: ... 阅读全文
posted @ 2014-07-12 20:11 keambar 阅读(381) 评论(0) 推荐(0)
摘要:时间限制:0.25s 空间限制:4M 题目: n个朋友在一起按照下面的规则依次下棋:在第一局游戏,n个人中的两个开始下棋。在第二局,第一局胜利的人将跟其他人下棋(也可能还是输了第一局人), 在第三局第二局的胜利者将跟其他人下...依此类推。没有棋局将以平局结束,给出n个人参加过的的棋局的编... 阅读全文
posted @ 2014-07-11 11:13 keambar 阅读(359) 评论(0) 推荐(0)
摘要:题目描述 一个序列S1 S2 S3... Sn 如果满足 新序列 S1-1 S2 S3 ...Sn+1能够通过旋转的操作(不是翻转)来得到旧的序列,那么这个序列就叫做Funny序列。例如 1 2 1 2 2就是Funny序列,1 2 1 2 就不是输入 给定一个数N,表示序列长度。一个数K,... 阅读全文
posted @ 2014-07-11 09:53 keambar 阅读(329) 评论(0) 推荐(0)
摘要:题目描述 有一群人从1到N标号,而且这群人中每个人的朋友个数不少于 (N+1)/2 个。编号为1的人有一本其他人都想阅读的书。写一个程序,找到一种传阅顺序使得书本只经过每个人手中一次,并且一个人只能将书本传给他的朋友,并且书本最后必须传回给第一个人。(注释:如果A是B的朋友,那么B一定是A的朋友)... 阅读全文
posted @ 2014-07-10 16:01 keambar 阅读(538) 评论(0) 推荐(0)
摘要:题目描述 空间探测器在星球M上发现了巨大的地牢,地牢被明亮的球充满,探测器发现光线能按自然规律被球表面反射(入射角等于反射角,入射光线、反射光线、法线在同一平面)。古老的传说说如果光按一定顺序被球表面反射,房间的门就会打开。你不需要去猜这个顺序;你的任务更简单一些。你会知道球的位置和半径、激光发... 阅读全文
posted @ 2014-07-10 15:57 keambar 阅读(171) 评论(0) 推荐(0)
摘要:#include using namespace std;int f[50]={0,1,1};int main(){ int n,s=0; cin>>n; for(int i=3;i<=40;i++) f[i]=f[i-1]+f[i-2]; for(int i=... 阅读全文
posted @ 2014-07-10 15:54 keambar 阅读(104) 评论(0) 推荐(0)
摘要:答案为Catalan数C(2k, k)/(k+1)#include using namespace std;int k;int main(){ scanf("%d", &k); long long ans = 1; for (int i = 1; i <= k; ++i) ... 阅读全文
posted @ 2014-07-10 15:47 keambar 阅读(119) 评论(0) 推荐(0)
摘要:水题,不说了。#include using namespace std;int f[70000]={1};int n;int main(){ cin>>n; for(int i=1;i<=n;i++) f[i]=f[i-1]+i; cou... 阅读全文
posted @ 2014-07-10 15:43 keambar 阅读(113) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题目: Bob非常喜欢巧克力,吃再多也觉得不够。当他的父母告诉他将要买很多矩形巧克力片为他庆祝生日时,他的喜悦是能被理解的。巧克力都是 2x1 或 1x2 的矩形。Bob的父母还为他准备了一个生日蛋糕,蛋糕可以看做 M 行 N 列的矩阵。蛋糕上的有些地方是要放蜡... 阅读全文
posted @ 2014-07-10 15:04 keambar 阅读(373) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 给出 n*m (1≤n、m≤9)的方格棋盘,用 1*2 的矩形的骨牌和 L 形的(2*2 的去掉一个角)骨牌不重叠地覆盖,求覆盖满的方案数。 Solution: 还是状态压缩,这次的情况比较多,要全部列出。 b1,b2分别代表上下两行... 阅读全文
posted @ 2014-07-10 09:47 keambar 阅读(713) 评论(0) 推荐(0)
摘要:题意: 给出n*m (1≤n、m≤11)的方格棋盘,用1*2的长方形骨牌不重叠地覆盖这个棋盘,求覆盖满的方案数。Solution: 位运算+状态压缩+dp 二进制数(####)代表填完一行后这一行的状态,填满的地方为1,未填的地方为0。 显然在填第i行时,能改变... 阅读全文
posted @ 2014-07-09 20:21 keambar 阅读(547) 评论(0) 推荐(0)
摘要:题意: 判断15数码问题是否有解。 如果0的偏移量和逆序对个数同奇偶则无解。 因为目标状态的偏移量为0,逆序对为15,而0移动的时候偏移量±1,逆序对的改变量为也为奇数。 这就使得偏移量和逆序对数始终不是同奇偶。 更多证明:http://blog.csdn.net/hnust_x... 阅读全文
posted @ 2014-07-09 15:44 keambar 阅读(181) 评论(0) 推荐(0)
摘要:时间限制:0.75s空间限制:6M题意 n*n(n>1; r同理,即rint n, sum, max, k, m;void dfs (int line , int row, int l, int r, int k) { int pos, p, i; if (line > n){ ... 阅读全文
posted @ 2014-07-09 15:14 keambar 阅读(232) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 给出一个n个节点,m条边的图,每条边都有标记了编号为1,2,3三种颜色之一,现在求从1号节点到n号节点的一条最短路径的长度,要求该路径中相邻的边没有相同的颜色。Solution: 有限制条件的SPFA,要注意有时要走环来改变路径颜色,才能到达... 阅读全文
posted @ 2014-07-09 14:08 keambar 阅读(367) 评论(0) 推荐(0)
摘要:SGU链接:时间限制:0.25s空间限制:4M题意: 给出一个树(节点数#include #include #include #include #include #define INF 16666using namespace std;struct node { int v, ne;} edge... 阅读全文
posted @ 2014-07-09 13:56 keambar 阅读(316) 评论(0) 推荐(0)
摘要:水题不说了#include #include #include #include #include #include #include #include #include using namespace std;int num;struct node{ int a,b;}op[16010];bool... 阅读全文
posted @ 2014-07-09 13:40 keambar 阅读(128) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 在 n*n(n≤10)的棋盘上放 k (k#include #define LL long longusing namespace std;int powT[11];int statu[1 > 1) ) == 0) && ( (i & (i 0; t ... 阅读全文
posted @ 2014-07-08 21:31 keambar 阅读(369) 评论(0) 推荐(0)
摘要:原题地址题意: 新百慕大由N个岛屿组成,在岛屿之间有一些连接它们的桥。在任意两个岛屿之间,最多只有一座桥连接它们。总统先生下达命令,要求给所有桥上色。 每一座桥能被染成 白色 或者 黑色。 每一个岛屿至少有一座白色的桥和一座黑色的桥(当然,如果只有一座桥就不存在这些问题)Solution... 阅读全文
posted @ 2014-07-06 20:32 keambar 阅读(183) 评论(0) 推荐(0)
摘要:题意: 对于给出的一个整数N,和一对(A0,B0) 找到所有的整数对(A,B)满足 :对于任意 X,Y 当 A0 * X + B0 * Y 能被 N 整除时 A * X + B * Y 也能被 N 整除Solution: 如果AX+BY能被N整除,则dAX+dBY也能,因A,B#incl... 阅读全文
posted @ 2014-07-06 09:24 keambar 阅读(386) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4m题意: 在一个平面坐标中有N个点,现在要你用这N个点构造一个闭合图形,这个图形要满足以下条件: 1.这个图形要是闭合的; 2.图形上的点只能是给定的点,且每个点只能用一次; 3.每个顶点相连的两条边必须互相垂直; 4.每条边都要平行于坐标轴... 阅读全文
posted @ 2014-07-05 19:36 keambar 阅读(459) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 有N*N的矩阵(n#include #include using namespace std;struct node { int x, y;} p;int dirx[4] = {0, 0, -1, 1}, diry[4] = {1, -1, 0, 0};in... 阅读全文
posted @ 2014-07-04 10:47 keambar 阅读(218) 评论(0) 推荐(0)
摘要:时间限制:0.25s空间限制:4M题意: 给出n条线段和一个点,保证所有线段平行X轴或Y,并且闭合成一个多边形。判断这个点的位置是在多边形上,还是多边形内,还是多边形外。solution: 由于,所有的线段都平行于X轴或Y轴且闭合,那么只要判断在点的正上方有多少条线段即可。 如果是奇数,则在多边形内... 阅读全文
posted @ 2014-07-04 09:54 keambar 阅读(167) 评论(0) 推荐(0)