摘要: // 想了半天才发现是道生成树 然后想了好久 出了好多数据都他吗过了 但是a不了 后来发现给定数据 有的就不能构成一棵树 这点没有特判 如果我代码写的好一些 吧生成树写成函数 就他妈规避了这个问题草#include #include #include #include #include #include #include #include #define LL long long... 阅读全文
posted @ 2017-08-02 21:54 MeowMeowMeow 阅读(129) 评论(0) 推荐(0)
摘要: //首先判环我都不会 dfs实在写的戳 后来测了好多数据发现dfs写错了 唉 其次不会哈希啊 这个哈希还是dalao手写给我的 珍惜!!!#include #include #include #include #include #include #include #include #include #define ULL unsigned long long using nam... 阅读全文
posted @ 2017-08-02 21:51 MeowMeowMeow 阅读(176) 评论(0) 推荐(0)
摘要: //题目看不懂 水题都不会做 感觉自己好傻逼#include #include #include #include #include #include #include #include #include #define LL unsigned long long #define INF 2100000000 #define fi first #define se second... 阅读全文
posted @ 2017-08-02 21:49 MeowMeowMeow 阅读(241) 评论(0) 推荐(0)
摘要: 学姐的代码我又打了一遍 比我的短一倍而且少了许多特判 代码写的好就是能规避很多需要特判的地方 阅读全文
posted @ 2017-08-02 21:48 MeowMeowMeow 阅读(112) 评论(0) 推荐(0)
摘要: 题意:一个对于一个树,除了一号点之外,其余点分成K个集合,接下来每个集合分别和一号点并在一起组成新的集合,求每个集合里边点形成的最小生成树的值,(借助集合外边的点)。然后问这k个最小生成树的最大总和是多少。 思路:明显对于同一集合的点尽量不分在同一子树中边权和才更大,把1看成整棵树的根. 可知道如果 阅读全文
posted @ 2017-08-02 18:47 MeowMeowMeow 阅读(194) 评论(0) 推荐(0)
摘要: 思路: 多重完全背包最短路做法: 对于n个数能否构成值K,我们考虑集合S'表示这n个数能构成的数的集合,显然存在如果一个数x属于S'那么x+a[i],x+2*a[i]也属于集合S',那么我们定义dp[i]为%a[1]==i的时候S'中最小的数,那么所有比dp[i]大的同余类都一定属于S',而比dp[ 阅读全文
posted @ 2017-08-02 18:32 MeowMeowMeow 阅读(285) 评论(0) 推荐(0)
摘要: 题意:给出一个从1~n的数列,任意排列,求任意区间的第K大的数之和 思路:把求任意区间第K大转化为对某一个数x而言,作为第K大时对区间数量的贡献;通过预处理先记录下每个数的位置,设置两个数组left[],和right[],分别记录x左边和右边比x大的数的位置,这样对枚举的每一个x而言,只需要扫一遍左 阅读全文
posted @ 2017-08-02 18:27 MeowMeowMeow 阅读(135) 评论(0) 推荐(0)