3621专题

ZOJ Monthly, June 2012 - K Factorial Problem in Base K - zoj 3621

本场比赛,相对最好做的一题,看出本质,就容易了。 问题简化下,比如给你十进制数 s, 问 s! 末尾有几个0。我们一般都是直接找有多少个 2,5。因为2*5 = 10 那么 现在是 k进制数 s, 同理,就是找 s! 里面,有多少个因子的能够组成 k,最多组成 ans 个 k, ans 就是答案。 这个 自己可以简单证明下。后面好处理。 View Code 1 #include<cs

POJ 3621 最优比率生成环 01分数规划问题

题目大意就是找到一个环使得顶点权值之和与边权之和的比率最大 首先,需要注意的是题目要求可以从任意一点开始,网上很多解题报告默认的从1点开始,虽然过了此题,但是显然是不太对的 由于题目是求的max,那么在边权变形后,用 SPFA求最长路,看是否出现正环, 然后根据这个进行二分查找。 如果不懂图是怎么构建的,可以看一下01规划具体是怎么做的。 #include <iostream>

poj-3621-Sightseeing Cows-01分数规划+spfa判负环

假如最终的答案是re。 那么对每条边进行一定的处理。 然后用spfa判断是否出现了负环。 如果出现了负环。说明所取的re偏小。 就这样二分re。 spfa判断负环的方法是如果某个点入队列超过n次,那么图中存在负环。 #include <iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<