摘要: http://blog.csdn.net/cjk_cjk/article/details/43380249 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 void setIO... 阅读全文
posted @ 2016-01-06 21:41 Showson 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 不就是移一下树根,回溯一下吗? 诶?黄学长为什么可以直接找? 诶?这不是重心吗? YY了一下证明 很简单 由于重心max{sz[v]} <= sz[u] / 2的性质,可以证明每一步远离重心的移动都不会使答案更优,每一步靠近重心的移动都不会使答案更劣,且只与子树大小有关,与边权无关(显然要非负才行) 阅读全文
posted @ 2016-01-06 20:00 Showson 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 留坑(p.339) 已填(膜汪)每条直线至少经过两个点,我们不妨在经过的所有点中的第二个点统计它设f[i][j]表示i * j的答案,那么显然可以用f[i][j] = f[i - 1][j] + f[i][j - 1] - f[i - 1][j - 1] + 以(i, j)这个点为第二个经过的点的直... 阅读全文
posted @ 2016-01-06 16:17 Showson 阅读(189) 评论(1) 推荐(0) 编辑
摘要: 破环qwq 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 void setIO(const string& s) { 10 freopen((s +... 阅读全文
posted @ 2016-01-06 11:04 Showson 阅读(149) 评论(0) 推荐(0) 编辑