---------算法---------
文章平均质量分 54
Lazer2001
天涯何处无芳草
只是白兔寻不到
展开
-
T解 湖南师大附中集训 模拟考试1
大家都很强,可与之共勉今天考了试,天哪什么叫差距。300分满分25分,不过最高的是175,CDQZ最高的是75。然而毕克毕姥爷,%%%,OrzOrz,随手一讲就是POJ最难的状压Dp。下面我们来赏析一下第一题B 君的教育 (Erziehung) 【题目描述】 B 君最近听说了一个很惊人的性质,设 p = −1+i,对于每个高斯整数n x + yi,我们都可以找到一个非负整数集合 S 满足∑ p原创 2017-03-19 21:20:28 · 424 阅读 · 1 评论 -
POJ-1741 TREE 点分治 树上问题
大家都很强,可与之共勉函数对应关系写错, 调了两个小时, FUKK。 大致思路:点分支。 找以每一个节点(其实不是每一个)为根节点的重心, 用dis[ ]表示经过重心的每一条链的长度。但是计算的时候会计算到以重心为根节点的子树中的dis[ ],所以对于与重心子树中的每一个节点v,都应该去重新计算它的路径长度到重心的路径长度,然后用ans减去这里面的合法方案数。因为是分治,分而治之。所以计算完一个原创 2017-03-20 22:23:30 · 390 阅读 · 0 评论 -
T解 POJ-2411 Mondriaan's Dream [轮廓线DP] || [状压DP]
大家都很强,可与之共勉。今天考试遇到了一道神题,用俄罗斯方块铺地板地板上还有柱子(数据范围十分感人)。std是要用轮廓线DP。在此之前没有听说过轮廓线DP,故开始学习。当然看到这一道入门级的题。最初做的时候是用的状压DP(其实是正解+打表)。轮廓线DP显然是按点DP,分析该点之前的状态,若合法,则从该状态更新。初始化即为f[0][(1 << m) - 1] = 1(希望大家自己想清楚为什么这么做,我原创 2017-03-22 00:19:57 · 522 阅读 · 2 评论 -
拉格朗日插值法(代码实现及部分证明)
6来飞起 #include "cstdio"const int MAXN = (int) 1e5 + 5;struct point { double x, y;} list[MAXN];int n, m;double x;double Lagrange( point *list, int qnum, double x ) { double rt = 0, tmp = 1.0原创 2017-03-18 11:54:40 · 2365 阅读 · 1 评论 -
T解 BZOJ-4033 树形DP HAOI2015 T1
大家都很强, 可与之共勉。题面: 有一棵点数为 N 的树,树边有边权。给你一个在 0~ N 之内的正整 数 K ,你要在这棵树中选择 K个点,将其染成黑色,并将其他 的 N-K个点染成白色 。 将所有点染色后,你会获得黑点两两之间的距 离加上白点两两之间的距离的和的受益。问受益最大值是多少。其实就是: 有一棵N个点的边代权树,每个点都是白点,然后你要选择K个点将其染黑 一棵树的价值是白点原创 2017-03-23 16:24:52 · 578 阅读 · 0 评论 -
[数论]中国剩余定理 CRT
代码大法好。class Crt{private: template <class T> inline T exgcd( T a, T b, T &x, T &y ) { if( !b ) { x = 1, y = 0; return a; } T gcd = exgcd( b,原创 2017-03-23 22:18:06 · 674 阅读 · 0 评论