上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 34 下一页
摘要: 如果一个点开始遍历一棵树再回到原点那么每条边走两次。现在是两个人从同一点出发,那么最后遍历完以后两人离得越远越好。最后两人所处位置的路径上的边走了一次,其他边走了两次。要使总路程最小,两人最后停在直径两端。所以最终答案就是总权值*2 - 树的直径 1 #include 2 #include 3 ... 阅读全文
posted @ 2015-07-31 11:07 AOQNRMGYXLMV 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 数学方法:从每个箱子来考虑:m次选择以后,至少有一次被选中的概率为.因为这些箱子是相互独立的,所以被选中的箱子数的期望为 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 int ... 阅读全文
posted @ 2015-07-31 11:00 AOQNRMGYXLMV 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 用d(S)表示所收集到卡片种类状态为S时还需买多少包小浣熊(这是我YY的)的期望。则有方程d(S) = 1 + (P(空) + P(有)) * d(S) + P(无) * d(T)其中P(空)表示没有收集到卡片,P(有)表示收集到的是已经有的卡片,P(无)表示收集到新的卡片。而且P(空) +P(有)... 阅读全文
posted @ 2015-07-31 10:54 AOQNRMGYXLMV 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 要在HDU上交的话,要用滚动数组优化一下空间。 这道题想了很久,也算是想明白了,就好好写一下吧。 P1:激活游戏失败,再次尝试。 P2:连接失服务器败,从队首排到队尾。 P3:激活游戏成功,队首的人出队。 P4:服务器down掉,所有人都不能激活了。 设d... 阅读全文
posted @ 2015-07-31 10:47 AOQNRMGYXLMV 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 这道题搜了一晚上的题解,外加自己想了半个早上,终于想得很透彻了。于是打算好好写一写这题题解,而且这种做法比网上大多数题解要简单而且代码也比较简洁。 首先要把题读懂,把输入读懂,这实际上是一颗有向树。第i(2≤i≤n)行的两个数u,d,其中u是i的父亲结点,d是距离。 第一遍DFS我们可以计算... 阅读全文
posted @ 2015-07-31 10:43 AOQNRMGYXLMV 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 向上跳,再向上跳,也许再努力一点我就能够着菊苣们的膝盖了。 ——题记7.23 CodeForces 559C 组合数 + DP 1 #include 2 #include 3 #include 4 ... 阅读全文
posted @ 2015-07-23 19:56 AOQNRMGYXLMV 阅读(346) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2015-07-23 19:18 AOQNRMGYXLMV 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 近来博主感觉自己太弱了,最近要备战邀请赛还有下个月的省赛。 反思自己写过的题解,大多太潦草,不够认真,不够详细,对自己或来搜题解的人没什么帮助。 而且水题题解写了也没用,难题题解不想写得太简略,但是认真写又没这个精力。 所以,现在进入纯粹的刷题状态,等水平上升一个层次后,会写一些专题性的总... 阅读全文
posted @ 2015-05-11 21:30 AOQNRMGYXLMV 阅读(184) 评论(2) 推荐(0) 编辑
摘要: A. The Child and Homework注意仔细读题,WA了好多次,=_= 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 110; 7 8 char s[4][maxn];... 阅读全文
posted @ 2015-05-09 10:41 AOQNRMGYXLMV 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 基础的状压DP,因为是将状态压缩到一个整数中,所以会涉及到很多比较巧妙的位运算。我们可以先把输入中每行的01压缩成一个整数。判断一个状态是否有相邻1:如果 x & (x 2 #include 3 4 const int maxn = 13; 5 const int M = 100000000;... 阅读全文
posted @ 2015-05-07 10:51 AOQNRMGYXLMV 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 当时打比赛的时候卡在D题了,没有看E。现在看来E还是不难的。将n个数排序后,其实不排序也是可以的,只是排序能快一半的时间。枚举前一半能得到多少种和,放到map里面;然后在后一半数中枚举,然后在map里面查找。 1 #include 2 using namespace std; 3 typedef ... 阅读全文
posted @ 2015-05-06 20:43 AOQNRMGYXLMV 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 这个题是根据某个二维平面的题改编过来的。首先把问题转化一下, 就是你站在原点(0, 0, 0)能看到多少格点。答案分为三个部分:八个象限里的格点,即 gcd(x, y, z) = 1,且xyz均不为0. 可以先假设xyz都是整数,然后将所求的答案乘812个四分之一平面中的点,可以先算(x, y, 0... 阅读全文
posted @ 2015-05-06 20:28 AOQNRMGYXLMV 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 这题写起来真累。。名次树就是多了一个附加信息记录以该节点为根的树的总结点的个数,由于BST的性质再根据这个附加信息,我们可以很容易找到这棵树中第k大的值是多少。所以在这道题中用一棵名次树来维护一个连通分量。由于图中添边比较方便,用并查集来表示连通分量就好了,但是删边不太容易实现。所以,先把所有的边删... 阅读全文
posted @ 2015-05-06 20:15 AOQNRMGYXLMV 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 今天唯一的成果就是把上次几个人一起开房打的那场cf补一下。A. Combination Lock此等水题看一眼样例加上那个配图我就明白题意了,可是手抽没有注释掉freopen,WA了一发。 1 #include 2 using namespace std; 3 4 const int maxn ... 阅读全文
posted @ 2015-05-05 23:17 AOQNRMGYXLMV 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 这道题做了快两天了。首先就是按照这些竖直线段的横坐标进行从左到右排序。将线段的端点投影到y轴上,线段树所维护的信息就是y轴区间内被哪条线段所覆盖。对于一条线段来说,先查询和它能相连的所有线段,并加入到一个有向图里面,一遍后面O(n3)暴力统计答案。然后就是update,用这个线段将对应的区间“染色”... 阅读全文
posted @ 2015-04-29 20:59 AOQNRMGYXLMV 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 紫书上分析了很多很多,超详细,= ̄ω ̄=每扫描一行可以计算一个height数组,表示从这块空地向上延伸多少块空地,而且这个数组可以逐行递推。首先对于每一行来说维护一个单调栈,栈里放的是矩形的左上角,而且横坐标c和高度h也都是递增的,另外对于扫描到的同一个右下角,矩形面积的大小只与左上角的横坐标c和高... 阅读全文
posted @ 2015-04-29 14:59 AOQNRMGYXLMV 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 详细的题解见这里。图片转自上面的博客假设我们已经推导出来x在处取得最小值,并且注意到这个点是位于两个整点之间的,所以从这两个整数往左右两边枚举b就能找到b+c的最小值。其实只用往一边枚举就够了,由于对称性,我们不妨假设b ≤ c,那么只要让b从2a开始递减枚举即可。1 #include 2 usin... 阅读全文
posted @ 2015-04-29 12:20 AOQNRMGYXLMV 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 居然没有往错排公式那去想,真是太弱了。先在前m个数中挑出k个位置不变的数,有C(m, k)种方案,然后枚举后面n-m个位置不变的数的个数i,剩下的n-k-i个数就是错排了。所以这里要递推一个组合数和错排数。顺便再复习一下错排递推公式,Dn = (n-1)(Dn-1 + Dn-2),D0 = 1,D1... 阅读全文
posted @ 2015-04-29 07:47 AOQNRMGYXLMV 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 对于Wythoff博弈中的两个数列,An和Bn有这样的关系:An + n = Bn, An = floor(φ * n)所以我们可以根据a b的差值来计算一个新的a出来看看这两个值是否相等。想等的话,说明这个状态是个先手必败状态。 1 #include 2 #include 3 #include... 阅读全文
posted @ 2015-04-28 15:11 AOQNRMGYXLMV 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 切切水题,放松心情:-D 1 #include 2 3 const int maxn = 200000 + 10; 4 int a[maxn]; 5 6 int main() 7 { 8 //freopen("in.txt", "r", stdin); 9 10 int m;1... 阅读全文
posted @ 2015-04-28 14:46 AOQNRMGYXLMV 阅读(228) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 34 下一页