7-24
A了bzoj1001,屯了好久的题,一直没写,写的挺顺利的,做了那么长时间bzoj,都没有把它A掉
网络流,平面图转对偶图,然后跑一下最短路,类似证明貌似像是最大流最小割定理一样,求最大转换为求最小,具体也不知道QAQ
看了一下bzoj1064,想到可能是环的大小的gcd,lcm,然后发现细节好多,根本不会找简单环。然后果断去搜题解,纠结了好一会儿,然后发现了一个新技巧,顿时眼前一片明亮,不过此技巧貌似适用面不广。
对于每条又向边x->y,我们建x->y的边,边权为1,建y->x的边,边权为-1,然后dfs一遍,给每个点标号,当dfs到重复点时,此环的大小为原先标的号与现在应该标的数的绝对值的差,因为此环两点之间(不是同一个环上)不存在两点之间的有两条不一样长的路径,于是此方法适用。
然后看到bzoj1052,好像随便暴利暴力就过去了。
必有一个L形框的端点在最外层矩形框的角上,然后递归就行,对于每种情况,我只需求当前一解,然后递归求之后一解,此idea挺不错的。
又去看了一下bzoj2753,一开始看错题啦~\(≧▽≦)/~啦啦啦。第一问非常显然,第二问一看不会。看题解中有最小树形图几个字,又去看,越看越不会,又发现好像为什么和并查集还有些联系,又在纠结,纠结了好一会儿,终于懂了。
算法看题解咯,假设这个算法不对,那么它就不会被选,然而选了这条边对答案不可能变差,因为本来该在的还在,不该在的一定比它差,看来算法有时候是可以互用的,就在于此题的特殊性质,看似不可能的事情,也有可能的一面,抓住每个算法的性质。比如kruskal,它的实际意义在于加入这条边不比不加这条边差,那么这条边就是可以加的,这种能入就入的贪心想法,挺好的。
(未完待续)
时间: 2024-10-25 07:25:54