摘要:
建图:每个点向它四周的点连边权为两点点权的差的绝对值的边。由于有多个需要“施法”的点,所以相当于对每个这样的点,询问与它的距离在T以内的最长边的最小值,即多次询问。最长边最小之类的,肯定是最小生成树没跑了。BUT 若是对每个点这样做的话,肯定会TLE。所以考虑一次处理出所有询问的答案。在并查集将两个... 阅读全文
posted @ 2014-11-02 21:04
AutSky_JadeK
阅读(261)
评论(0)
推荐(0)
摘要:
10分算法:对于城市网络为一条单向链的数据, 20分算法:对于n 2 #include 3 #include 4 #include 5 using namespace std; 6 #define M 500001 7 #define N 100001 8 struct Node 9 {10 ... 阅读全文
posted @ 2014-11-02 15:44
AutSky_JadeK
阅读(251)
评论(0)
推荐(0)
摘要:
//上图绿色扫描线右侧少画了一条扫描线。很多区间把数轴分成了很多段,看哪个点的(区间覆盖数*该点权值)最大。显然在某个区间的右端点的答案是最优的。排序后 用扫描线从左到右扫描,维护每个点的覆盖数,就是遇到左端点时cnt++,右端点时更新ans、cnt--。若某个点既有左端点,又有右端点,就把左端点放... 阅读全文
posted @ 2014-11-02 14:15
AutSky_JadeK
阅读(256)
评论(0)
推荐(1)
摘要:
从左上角到右下角,共经过n+m个节点,从其中选择n各节点向右(或者m各节点向下),所以答案就是C(n+m,n)或者C(n+m,m),组合数暴力算即可,但是要取模,所以用了乘法逆元。 1 #include 2 #include 3 using namespace std; 4 typedef long... 阅读全文
posted @ 2014-11-02 14:05
AutSky_JadeK
阅读(318)
评论(0)
推荐(0)
摘要:
拓扑排序,要让字典序最小,所以把栈改成堆。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 100001 6 priority_queue,greater >Q; 7 int n,m,x,y; 8 int v[N... 阅读全文
posted @ 2014-11-02 08:06
AutSky_JadeK
阅读(207)
评论(0)
推荐(0)

浙公网安备 33010602011771号
