250pt:
题意:定义一种函数f(x),表示x不断/2直到出现非素数的操作次数。现在给定N,D。求X<= N, 并且f(x) >= D的大的数
我们提供的服务有:网站设计、
成都做网站、微信公众号开发、网站优化、网站认证、
新罗ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的
新罗网站制作公司 思路:直接先弄一个1000w以内的质数表,然后直接dp。由于题目给定内存才64M。。所以没法开1000w的int数组
所以dp时我直接对每个素数做。dp[i]表示以第i个质数结尾的f值。。
code:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
500pt:
题意:题目给了最多n(n <= 25)个点的有向图,编号0~n-1, 现在求一条0号点到n-1点的最短路,并且该最短路上任意两点距离不为13倍数。
思路:很明显的动态规划。
后面改成3维dp[i][j][k],表示到达点i,从起点到点i所有路径%13的集合为j,并且此时最短路%13为k时的最短路。
那么转移就很明显了。。
不过此题很容易想入非非了,刚开始就是用2维写错了。少枚举了第三维。直接用最短路%13作为第三维。。
这样的结果就可能导致当前最优而后面不一定最优。。
code:
1 #line 7 "ThirteenHard.cpp"
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
View Code
分享文章:SRM471-创新互联
浏览路径:
http://cdkjz.cn/article/dicgeg.html