UVa 821 - Page Hopping(Floyd)
给出能相互到达的网页,输出在给出的网页中相互到达需要点击几次,首先离散化,然后用Floyd求少点击次数,枚举求平均点击次数。
1 |
|
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
给出能相互到达的网页,输出在给出的网页中相互到达需要点击几次,首先离散化,然后用Floyd求少点击次数,枚举求平均点击次数。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
给出一个 s ,然后给出 n 组邮票,问那一组可以凑出最大连续邮资。
对每一组邮票,求出当邮资为i时需要邮票数的最小值 d [ i ] ,边界为 d [ 0 ] = 0 、 d [ i ] > s 时break。类似于背包问题的求法,具体方法见代码。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
给出 n 个相同的气球, k 层楼,问最少几次试验可以知道气球最高从多少层扔下不会爆。
用 d [ i ] [ j ] 表示用 i 个球,实验 j 次所能确定的最高楼层数,对于每一次试验分爆和不爆两种情况讨论:
1、爆了,转移到 d [ i − 1 ] [ j − 1 ] + 1 ,用掉了1个球和一次试验机会。
2、没爆,将当前测试层数的上一层当做第1层继续进行试验,转移到 d [ i ] [ j − 1 ] 。
得出转移方程 d [ i ] [ j ] = d [ i − 1 ] [ j − 1 ] + 1 + d [ i ] [ j − 1 ] 。
好久之前做的题了,具体思路见紫书。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
给出一个计算机网络,选取其中给一部分作为服务器,问最少选择几个服务器。
一共有三种状态:
1、 d [ u ] [ 0 ] :u是服务器,每个子结点可以是也可以不是。
2、 d [ u ] [ 1 ] :u不是服务器,但u的父亲是,u的子结点都不是服务器。
3、 d [ u ] [ 2 ] :u和u的父亲都不是服务器,u的子结点恰有一个是服务器。
三种状态的转移:
d [ u ] [ 0 ] = ∑ m i n ( d [ v ] [ 0 ] , d [ v ] [ 1 ] ) + 1 。
d [ u ] [ 1 ] = ∑ d [ v ] [ 2 ] 。
d [ u ] [ 2 ] = m i n ( d [ u ] [ 1 ] − d [ v ] [ 2] + d [ v ] [ 0 ] ) 。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
给出两个点和多个正方形,求两点与原点连线和正方形围成的最大面积。
当正方形对角线共线且与两边构成等腰三角形是面积最大。联立方程求出三角形底边两点坐标,然后利用向量叉乘求出面积。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
枚举50000以内的数,对数,利用快速幂求值验证。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
求给出的范围内有多少对互素的整数答案为 2 ∗ f ( n ) + 1 , f ( n ) = ∑ n 2 p h i ( n ) 。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
对m进行分解,然后从 ( n − 1 0 ) 计算到 ( n − 1 n − 1 ) ,对每个数能否被m整除。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
输入一个数 n , ( 1 ≤ n ≤ 30000000 ) ,输出有多少对整数满足 1 ≤ a ≤ b ≤ n , g c d ( a , b ) = a ⨁ b 。
设 c = a ⨁ b ,则 a ⨁ c = b 。找规律可得,当满足条件时, c = a − b 。
因此,枚举 c 、 a ,对每一对验证 c = a ⨁ b 即可。时间复杂度 O ( n l o g n ) 。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **
首先筛选出2到 ( 2 3 1 − 1 ) ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ ‾ √ 的素数,然后对每个输入的数进行分解。最后若只有一个素因子,则得出的和要加1。输入为1时,输出为2。
1 | #include<cstdio> |
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **