上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页
摘要: 简单题,看题目就懂。 阅读全文
posted @ 2016-01-15 20:01 sweat123 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 简单题。 阅读全文
posted @ 2016-01-15 20:00 sweat123 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 这题我建了2棵线段树,这样来处理 最值和和值,简单的题目。 阅读全文
posted @ 2016-01-15 19:59 sweat123 阅读(128) 评论(0) 推荐(0) 编辑
摘要: NEGATE a,b 将a b间的线段取反,这题应该用线段树+成段更新。我成段更新写的挫了,试了暴力修改过了(数据水)。 也是简单的题目。不过要注意点和边的区别。 阅读全文
posted @ 2016-01-15 19:58 sweat123 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 注意这里都是把边放到线段树中,所以lca的时候,要注意如果top[x]==top[y] && x==y 的时候已经完成了。 仔细想想边和点的不同之处!!! 阅读全文
posted @ 2016-01-15 09:05 sweat123 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 给你n个点,m条边,p次操作。n个点相连后是一棵树。每次操作可以是x 到 y 增加 z,或者减z,或者问当前点的值是多少。 可以将树分成链,每个点在线段树上都有自己的点,然后线段树成段更新一下。 阅读全文
posted @ 2016-01-14 16:16 sweat123 阅读(118) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_7a1746820100wp67.html这个博客很好,很清楚。 注意树的边和点有时候是不一样的,仔细想一想。 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=103962#ov 阅读全文
posted @ 2016-01-14 14:57 sweat123 阅读(108) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #define INF 99999999 #define ll __int64 using namespace std; const int MAXN = 30; ll dp[MAXN][MAXN]; void init() { int i,j,k; memset(dp,0,sizeof(d... 阅读全文
posted @ 2016-01-08 15:06 sweat123 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 第一次接触数位dp,对于这种题目,数字都是很大,直接遍历肯定超时,通过对每个位子上数字的遍历可以大大减小复杂度。 dp[i][j]表示1到 i位的以j开头的数有几个满足条件的。这样理解一下,然后求出目标n的位数和各个位上的值,遍历即可。 阅读全文
posted @ 2016-01-08 14:38 sweat123 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 将几个集合合并,求合并后的集合数的个数。 首先先求出各个集合的数的个数相加,减2个集合的相交的个数,加三个集合相交的个数,减四个集合相交的个数。。。。。 http://www.51nod.com/onlineJudge/problemList.html 容斥原理的简单应用。 阅读全文
posted @ 2016-01-06 16:31 sweat123 阅读(158) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 30 下一页