摘要: 题目链接:hdu 1754 I Hate It线段树模板题。该题是对点进行更新,对区间进行查询,在初始化时为了方便把n扩充为了2的整数次幂。并且注意线段树应该开辟4倍于n的数组来存储。注意对于输入字符'Q','U',一定不能用char c;scanf("%c",&c);来接收,这样会接收到上次输入的... 阅读全文
posted @ 2014-10-01 22:07 jostree 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu 1556 Color the ball可以使用线段树来做,但是使用树状数组会更加简洁,对于第i个点被涂的次数$s$,为$s=\sum_{k=1}^{i}x_k$,因此对于区间$[a,b]$的涂色,对于下标$a$增加1,对于下标$b+1$减少1,这样就可以保证对于$i\in [a,b... 阅读全文
posted @ 2014-10-01 22:00 jostree 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu 1166 敌兵布阵标准的树状数组模板题,需要注意的是树状数组的初始节点的编号为1。 1 #define MAX_N 1000007 2 #include 3 #include 4 #include 5 #include 6 using namespace std... 阅读全文
posted @ 2014-10-01 21:47 jostree 阅读(163) 评论(0) 推荐(0) 编辑
摘要: dp,用dp[i][j],表示和为i的前j个维度的种类。其中arr[i],表示第i维的最大值。则\begin{equation}dp[i][j] = \sum_{0 \leq k \leq \min(i,arr[i])} dp[i-k][j-1] \end{equation}最后取和为sum/2的种... 阅读全文
posted @ 2014-09-29 23:32 jostree 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 从左边开始染色,到第$i$个方块为止,红绿都是偶数的方案数为$a_i$,红绿恰有一个是偶数的方案为$b_i$,红绿都是奇数的方案为$c_i$,从而有如下状态转移方程:$a_{i+1} = 2 \times a_i + b_i$$b_{i+1} = 2 \times a_i + 2 \times b_... 阅读全文
posted @ 2014-09-29 18:52 jostree 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 贪心算法。需要计算分别以每个字母结尾的且每个字母出现的次数不超过k的字符串,我们设定一个初始位置s,然后用游标i从头到尾遍历字符串,使用map记录期间各个字母出现的次数,如果以s开头i结尾的字符串满足要求,则把结果增加i-s+1。否则的话向前移动s,不断维护map,直到s指向的字母与i相同,从而满足... 阅读全文
posted @ 2014-09-29 13:33 jostree 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 先把各个数字又大到小排列,如果没有前导零并且为奇数,则直接输出。如果有前导零,则输出-1。此外,如果尾数为偶数,则从后向前找到第一个奇数,并把其后面的数一次向前移动,并把该奇数放到尾部。值得注意的是当输入为960时,通过这种方法会得到具有前导零的数字。因此最后需要判断进行移动后,首位是否为零。代码如... 阅读全文
posted @ 2014-09-29 13:26 jostree 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 为了a异或b的和最大,只需另b在不大于n的情况下按位取反即可。这里有两个输出小技巧可以参考:1.在用printf输出__int64时,在windows下使用格式"%I64d",在linux下使用"%lld",在hdu中应使用"%I64d",如果拿不准就是用cout好了。2.在遇到每个数之间有空格,最... 阅读全文
posted @ 2014-09-27 10:56 jostree 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 首先把具有相同颜色的点缩成一个点,即数据离散化。然后使用dp[i]表示涂满前i个点的最小代价。对于第i+1个点,有两种情况:1)自己单独涂,即dp[i+1] = dp[i] + 12)从第k个节点之后(不包括k)到第i+1个节点一次涂完,且一起涂的节点共有num种颜色,即dp[i+1] = dp[k... 阅读全文
posted @ 2014-09-26 23:37 jostree 阅读(155) 评论(0) 推荐(0) 编辑
摘要: Given a binary tree, return thepreordertraversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3].Not... 阅读全文
posted @ 2014-05-10 19:38 jostree 阅读(190) 评论(0) 推荐(0) 编辑