nyoj 708 ones 动态规划
http://acm.nyist.net/JudgeOnline/problem.php?pid=708
状态转移方程的思路:对于一个数N,可以是N - 1的状态+1 得到,另外,也可以是(n / 2) * (1 + 1)得到,同理对于任意的奇数p,都有如果n可以整除p,都有f(n / p) + f(p)
#include<stdio.h>
int dp[10010];
bool isprime[101];
int prime[101];
int total;
void sol()
{
int i;
for(i = 4; i < 10010; i++)
{
int min = dp[i - 1] + 1;
int j;
for(j = 0; prime[j] < i && j < total; j ++)
{
if(i % prime[j] == 0)
{
min = min < (dp[i / prime[j]] + dp[prime[j]]) ? min : dp[i / prime[j]] + dp[prime[j]];
}
}
dp[i] = min;
}
}
int main()
{
int n;
dp[1] = 1;
dp[2] = 2;
dp[3] = 3;
int i, j;
for(i = 2; i * i < 100; i++)
{
if(isprime[i] == 0)
{
for(j = i + i; j < 100; j+= i)
{
isprime[j] = 1;
}
}
}
for(i = 2; i < 100; i++)
{
if(isprime[i] == 0)
prime[total ++] = i;
}
sol();
while(scanf("%d",&n) != EOF)
{
printf("%d\n", dp[n]);
}
return 0;
}
nyoj 708 ones 动态规划的更多相关文章
- NYOJ 10 skiing动态规划心得
这道题目,拿到手中,首先想到的是搜索,但是,后来想了想搜索不知道从哪搜起,就看了一下分类,一看属于动态规划类的,因为以前没有接触过动态规划,所以在网上搜了一下动态规划的思想,看过之后也有想到将它们到周 ...
- nyoj 289 苹果 动态规划 (java)
分析:0-1背包问题 第一次写了一大串, 时间:576 内存:4152 看了牛的代码后,恍然大悟:看来我现在还正处于鸟的阶段! 第一次代码: #include<stdio.h> #inc ...
- nyoj 18-The Triangle(动态规划)
18-The Triangle 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:5 submit:5 题目描述: 7 3 8 8 1 0 2 7 4 ...
- nyoj 17-单调递增最长子序列 && poj 2533(动态规划,演算法)
17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如 ...
- POJ-1088滑雪,典型的动态规划题,与NYOJ-10skiing一样,但NYOJ上时限是3s,用搜索可以过,但在POJ上就超时了~~
滑雪 Time Limit: 1000MS Memory Limit: 65536k ...
- nyoj 16-矩形嵌套(贪心 + 动态规划DP)
16-矩形嵌套 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:13 submit:28 题目描述: 有n个矩形,每个矩形可以用a,b来描述,表示长和 ...
- nyoj 214-单调递增子序列(二) (演算法,PS:普通的动态规划要超时)
214-单调递增子序列(二) 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:11 submit:35 题目描述: 给定一整型数列{a1,a2..., ...
- nyoj 79-拦截导弹 (动态规划)
79-拦截导弹 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:11 难度:3 题目描述: 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个 ...
- NYOJ 16 矩形嵌套(经典动态规划)
传送门 Description 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于 ...
随机推荐
- gdb 调试出现 ImportError: No module named 'libstdcxx'
在emacs使用gdb调试程序,出现错误 , in <module> from libstdcxx.v6.printers import register_libstdcxx_printe ...
- parsec-2.1 编译错误
OS: Ubuntu 14.04 LTS (x86_64) 参考:https://forums.freebsd.org/threads/security-openssl-build-failure.4 ...
- LintCode MinStack
Implement a stack with min() function, which will return the smallest number in the stack. It should ...
- 编译.NET项目的时候报错错误“ResGen.exe”已退出,代码为 -1073741701
解决的办法如下: 1.关闭所有Visual Studio: 2.以管理员的身份打开命令提示窗口:(开始-运行-cmd) //有人说要使用vs tools 里面的控制台 亲试无卵用 3. ...
- CentOS7新特性
一.CentOS7的4中模式 CentOS7里不在有0-6启动级别,而是4个target 1.graphical.target:多人模式,支持图形和命令行两种登录,对应之前的3,5级别 2.multi ...
- linux下bom头导致的php调用php接口 返回的json字符串 无法转成 数组,即json字符串无法解码的问题
今天很是郁闷,写了一个php接口,返回的是标准的json字符串,但是调用的php 就是无法json_decode(),返回错误码为4,最后终于找到原因,原来是蒙一个文件中有bom头,最后采用一个命令 ...
- Android——黑名单
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Linear Algebra lecture10 note
Four fundamental subspaces( for matrix A) if A is m by n matrix: Column space C(A) in Rm (列空间在m维实 ...
- 【OpenGL】第二篇 Hello OpenGL
---------------------------------------------------------------------------------------------------- ...
- mybatis——使用mapper代理开发方式
---------------------------------------------------------------generatorConfig.xml------------------ ...