15145641

摘要: 方法:求出最近公共祖先,使用map给他们计数,注意深度的求法。 代码如下: 阅读全文
posted @ 2016-08-15 17:42 icode-xiaohu 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目并不难,就是比赛的时候没敢去二分,也算是一个告诫,应该敢于思考…… #include<stdio.h> #include<iostream> using namespace std; int main() { long long n; scanf("%I64d",&n); long long l 阅读全文
posted @ 2016-08-15 17:36 icode-xiaohu 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 这个也可以说是一个01背包了,里面也有一些集合的思想在里面,首先dp方程,dp[i][j]代表着当前数值为i,j能否被构成,如果dp[i][j] = 1,那么dp[i+m][j] 和 dp[i+m][j+m] = 1,所以转移方程就写出来了,但是注意我们只能从后向前转移,也就是说我们一定要用选上一个 阅读全文
posted @ 2016-08-15 16:56 icode-xiaohu 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 这本来一个挺简单的题呢,结果让我给想复杂了,二分图就是把图分成了两部分,然后不同颜色各一边,肯定是满足题目中说的边和点的条件的,真是犯二了。。 代码如下: 阅读全文
posted @ 2016-08-15 16:51 icode-xiaohu 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 比较简单的模拟,建议使用STL优先队列。 代码如下: 阅读全文
posted @ 2016-08-15 16:48 icode-xiaohu 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 方法:从根节点开始广搜,如果遇到了应该删除的点,就再广搜删掉它的子树并标记,然后统计一下被标记的个数就是答案,所谓技巧就是从根节点开始搜索的时候,如果遇到了某个节点的距离<0,就让它是0,0可以消除负数效应,让后面的点重新参与正常删除操作,这个方法的正确性不难证明,可以自己画一下图。而且还有比较方便 阅读全文
posted @ 2016-08-15 16:46 icode-xiaohu 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 啥也不说了,直接看图吧…… 代码如下: 阅读全文
posted @ 2016-08-15 16:28 icode-xiaohu 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 网络预选赛的题目……比赛的时候没有做上,确实是没啥思路,只知道肯定是整数分解,然后乘起来素数的幂肯定是偶数,然后就不知道该怎么办了… 最后题目要求输出方案数,首先根据题目应该能写出如下齐次方程(从别人那里盗的……): a11*x1 ^ a12*x2 ^ ... ^ a1n*xn=0 a21*x1 ^ 阅读全文
posted @ 2016-08-15 16:16 icode-xiaohu 阅读(480) 评论(6) 推荐(0) 编辑