4.29总结

 考试前10分钟非常高兴,因为第一道题两分钟就切了,很开心,结果它换题了,哈哈

然后看第一题,看了一会,yy了一个cdq分治,感觉能A,立马开始打,打到快结束的时候,发现时间复杂度算错了,呵呵,一看8.46了,保存了一下就走了,本来想看t2,结果不小心点开了t3,t3一看我好像会60分,感觉很高兴,刚好8.57,于是直接开始暴力了,10分打完以后,搞了搞对拍,就10了,上了个厕所,回来就20了!!!于是赶紧写30分算法,写到40开始调,结果又出现了SF,woc,又是它,我卡了几次点,就是卡不到,离谱,只能扔那不管了(考完发现,n-1写成n了),回来看t2,想到11点多一点,只会30,直接写完走了,快11点半了,检查检查细节,准备交卷,结果延长时间了,哈哈,于是打了个第一题的暴力,结果编译找不到它???试了好几次都不行,没法了,只能这么交了

考后:

对拍之前先造两组样例试试,不要写完直接对拍

线段树区间一定要注意+1-1,尤其是当区间不是和平常写的一样的时候

t1:

把遍历这条边分成两种情况,x-->y 或者 y-->x 

按无向图,把每个点的度数求出来, if ( x的度数> y的度数 )  就在 y 处遍历这条边

                                                             else 就在 x 处遍历这条边

这是一个有向图,所以 边的走向不会变,在 y 处遍历这条边,仍是 x-->y 

所以每个点存两个vector 一个存 x-->y  ,一个存 y-->x 

直接拓扑dp一下就行

t2: 天坑

t3:

10:随便暴力

30:线段树上二分,不会,学了再说

直接线段树不就行了???奇怪

60:cdq一下就行了   map存边的编号,注意无向图 x-->y 输入,查询的时候x,y可能会反过来,强制 x<y 就行了

100:虚树?很好,再见吧

原文地址:https://www.cnblogs.com/xsm098/p/14718284.html