随笔分类 - BZOJ
摘要:Problem 魔法森林 (NOI2014) 题目大意 给n个点,m条边的无向图,每条边有两个权值a,b。 求一条从1-->n的路径,使得这条路径上max(a)+max(b)最小。输出最小值即可。 解题分析 将边按照权值a从小到大排序后,依次加边,用lct维护一棵权值b组成的最小生成树。 具体做法是
阅读全文
摘要:Problem 染色(BZOJ2243) 题目大意 给定一颗树,每个节点上有一种颜色。 要求支持两种操作: 操作1:将a->b上所有点染成一种颜色。 操作2:询问a->b上的颜色段数量。 解题分析 树链剖分+线段树。 开一个记录类型,记录某一段区间的信息。l 表示区间最左侧的颜色 , r 表示区间最
阅读全文
摘要:首先找出b在数列中的位置mid 用 f[i]记录mid左边从mid往左统计比m小的数与比m大的数的差值为i的个数 用g[i]记录mid右边从mid往右统计比m大的数与比m小的数的差值为i的个数 。。有点语死早,找个样例模拟一下就懂了
阅读全文
摘要:直接跑匈牙利,注意到“只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰”,一旦无法满足就直接退出。 1 #include 2 #include 3 #include 4 #define maxn 2008 5 #define maxm 10008 6 7 struct edge{ 8...
阅读全文
摘要:没想到这是一道省选题。。。 1 /* BZOJ1192 */ 2 #include 3 int main() 4 { 5 int m,num=0; 6 scanf("%d",&m); 7 for (;m>0;m/=2,num++); 8 printf("%d\n",...
阅读全文
摘要:先对整幅图进行二分图染色,再跑一遍匈牙利算法。如果最大匹配数=点数*2,那么输出WIN。对于任何一个非必须在最大匹配上的点,即为所求的点。 1 Program Test375num2; 2 type arr=record 3 u,v,next:longint; 4 ...
阅读全文

浙公网安备 33010602011771号