摘要:想了一会突然想到蓝桥杯最后一题,用了和那题类似的技巧处理,当时写完还自我陶醉了一下,虽然只能过小数据,但我过得姿势好看哇==将边权从大到小排序,然后开始加边,开了一个vis数组(就是这个数组)表示这个集合为真或者假真表示集合内有特殊点,反之无,只要出现两边都为真就ans+该边,vis伴随集合并相应的...
阅读全文
摘要:这是民大学长之前出的一次题目,感觉题目不错现在才写题解=化简不难得到:sig(maxval[i]−minval[i])=sig(maxval)−sigma(minval)如何求所有最大值和最小值呢,分别从大到小和从小到大排序利用并查集就行了,比较巧妙。额==题目设了一些坑,一个是一个方向的并查集会爆...
阅读全文
摘要:更新fatber[] down[] up[] 三个数组求得是down数组1.忽略合并同一区间 2.下标从0开始2333 1 #include 2 #include 3 int father[100005],down[100005],up[100005]; 4 int find(int x) 5 { ...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 bitsetedge[1005]; 6 int main() 7 { 8 int i,sum,T,t,j,n,x,y; 9 double ans;10 sca...
阅读全文
摘要:1 #include 2 int d[100005][50]; 3 int max(int a,int b) 4 { 5 if (a>b) return(a); 6 return(b); 7 } 8 int rmq(int l,in...
阅读全文