SGU
jinzhao1994
这个作者很懒,什么都没留下…
展开
-
[SGU 103] Traffic Lights [最短路]
现在给你一个城市网络,求它原创 2014-07-20 06:58:25 · 477 阅读 · 0 评论 -
[SGU 101] Domino [欧拉回路]
给一些骨牌,骨牌两端有数,让你把骨牌连起来,相邻的数要一样,骨牌可以翻转每个骨牌相当于一个边,骨牌可以翻转就是说是无向图,求一个欧拉路即可,输出任意可行解求欧拉路的方法就是dfs一遍,回溯时输出,然后输出的倒序即为一个可行解#include #include struct Node { int fe;};struct Edge { int t,ne; bool原创 2014-07-11 09:19:05 · 421 阅读 · 0 评论 -
[SGU 102] Coprimes [欧拉函数]
给定一个数,求不大于他的和他互质的数的个数,互质的定义是最大公约数为1欧拉函数:若n的不同的质因子为p1, p2, ... , pr,则小于等于n的和n互质的数的个数φ(n)=n*(p1-1)/p1*(p2-1)/p2*...*(pr-1)/pr如12=2*2*3,则φ(12)=12*1/2*2/3=4#include #include const int PS=10原创 2014-07-11 12:49:02 · 460 阅读 · 0 评论 -
[SGU 105] Div 3 [数学]
在数列1, 12, 123, 1234, 12345, 123456, 1234567, 12345678, 123456789, 12345678910, ... 中,前n项里有多少个是3的倍数?n不超过2^31-1一个数是三的倍数的充要条件是,该数的每一位数字相加所得到的值是3的倍数。所以很容易就可以推出来公式,直接输出即可。#include int main() { i原创 2015-01-29 14:07:50 · 488 阅读 · 0 评论 -
[SGU 104] Little shop of flowers [动态规划]
现有f朵花,从1到f编号。还有v个花瓶,从1到v编号。将每个花均放入花瓶中,第i个花放入第j个花瓶中,会获得a[i][j]的收益,求总收益的最大值,及最大值时的方案。动态规划,定义状态dp[i][j]为前i朵花放入前j个花瓶中的总收益的最大值,则dp[i][j]=max(dp[i-1][j-1]+a[i][j],dp[i][j-1])。再记录数组from,from[i][j]表示dp[i]原创 2015-01-29 13:59:40 · 659 阅读 · 0 评论