上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 待做。 阅读全文
posted @ 2014-04-30 23:52 e0e1e 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 注意变换思维,然后就是水题。(如果卡时还可以进一步二分优化。)#include long existed[10000][32];int main(void){ int N;// freopen("poj2443.txt", "r", stdin); scanf("%d", &N);... 阅读全文
posted @ 2014-04-30 23:51 e0e1e 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 裸的树的重心,要注意的问题是此题的边并没有给出准确的父子拓扑关系,所以需要建双向的边,所以以后要看清题意做仔细分析。可以知道一个结点的子树必定是 它的拓扑子树 和 根树去掉这个拓扑结点树本身,思路也就很明显了。 1 // poj1655 Balancing Act 2 #include 3 #in... 阅读全文
posted @ 2014-04-30 21:36 e0e1e 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 寄存器分配,是通过将程序变量尽可能地分配到寄存器,从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%);也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存器分配相关的算法)。1. 图着色(graph coloring)方... 阅读全文
posted @ 2014-04-29 03:51 e0e1e 阅读(2872) 评论(0) 推荐(1) 编辑
摘要: 树的重心定义1:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心。定义2:以这个点为根,那么所有的子树(不算整个树自身)的大小都不超过整个树大小的一半。性质1:树中所有点到某个点的距离和中,到重心的距离和是最小的;如果有两个重心,那么他们的距离和一样。性质2:把两个树通过一... 阅读全文
posted @ 2014-04-19 03:00 e0e1e 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 即求树上每点的最长路,先求出树的直径上的一点(dfs、bfs均可,寻找第一点我用的bfs),然后再从这点搜出树直径的另一点。可以证明每点的最长路是到这两点的距离之一(因为树是连通的,因为是树的直径,如果某点s到直径某点t的距离小于到另一点u的距离,那么u就可以代替t成为树的直径了。本题恶心的是内存限... 阅读全文
posted @ 2014-04-13 16:11 e0e1e 阅读(172) 评论(0) 推荐(0) 编辑
摘要: treedp, 选取节点使得不能具有父子节点的同时被选中并统计满足条件树的rating和最大值。#include using namespace std;#define max(a,b) ((a)>(b)?(a):(b))int rating[6005];int tree[6005][6005], N;int dp[6005][2];void dfs(int n){ dp[n][0] = 0, dp[n][1] = rating[n]; for(int i=1; i 0) { int i; for(i=0; i<N; ++i) { ... 阅读全文
posted @ 2014-04-12 14:25 e0e1e 阅读(116) 评论(0) 推荐(0) 编辑
摘要: TOJ1068 商务旅行Time Limit:1s Memory Limit:10000kProblem某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间。假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意两个城镇之间如果有直连道路,在他们之间行驶需要花费单位时间。该国公路网络发达,从首都出发能到达任意一个城镇,并且公路网络不会存在环。你的任务是帮助该商人计算一下他的最短旅行时间。Input该题含有多组测试数据。每组数据的第一行有一个整数N,1<=n<=30 000,为城镇的数目。下面N-1行,每行由两个整数a 和b 阅读全文
posted @ 2014-04-12 03:04 e0e1e 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 原题:聪明的猴子Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Problem Description森林中有一排香蕉树(无限长),一只猴子站在其中一棵树上,猴子在跳跃前要先抽取一张卡片,卡片上写有A+1个自然数,其中最后一个是B,前A个数只能小于等于B,卡片上的数字可以相同。猴子每次跳跃先从卡片上任选一个自然数C,然后向左、或向右跳C棵树。猴子的任务是:跳到与它左边相邻的香蕉树上时,就可以吃掉上面的香蕉。例如,当A=2,B=4时,对于卡片(2, 3, 4),猴子就可以吃到香蕉:它可以 阅读全文
posted @ 2014-04-11 23:45 e0e1e 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 搜索加各种剪枝,很悲剧写了N个小时还是超时,只好弃坑了。(P.S. 谁能再告诉我一些优化思路。。。感激不尽。。。)测试数据:------- test 1 ----11 2------- test 2 ----11 1------- test 3 ----17 7------- test 4 ----29 2------- test 5 ----19 8------- test 6 ----17 1------- test 7 ----19 5------- test 8 ----23 7------- test 9 ----23 1------- test 10 ----23 3有毒的代码。。 阅读全文
posted @ 2014-04-11 23:13 e0e1e 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页