hdu1466(dp)
比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。
题目看起来很水,思路其实很简单!不过也需要非常严谨的思路才能想对。。。。
首先n条线段,全部平行,0;
n-1条线段平行,n-1;
n-2条线段平行,2*(n-2)+2条线段的交点数;
n-3条线段平行,3*(n-3)+3条线段的交点数;
n-4条线段平行,4*(n-4)+4条线段的交点数;
………………………………
以此类推!
上面我写的 “+2条线段的交点数;” 这个部分需要注意!恰好是我们可以记录下来的前面的数据,所以我们得先打个表!打表记录每一种情况,然后后面再来用到前面的数据,所以!采取dp[i][j]的方式来记录,注意dp[i][j]只是状态表示,表示n为i的时候j如果是可能的交点数则dp[i][j]=1,否则dp[i][j]=0;这个题自己思考一下很容易的。
最后注意格式,pe了两次,,,唉,输出方法问题啊!
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
bool dp[21][200]={{0}};
int main()
{for(int i=1;i<21;i++)dp[i][0]=1;int k;for(int i=2;i<21;i++){for(k=1;k<i;k++){for(int j=0;j<200;j++){if(dp[k][j]==1)dp[i][k*(i-k)+j]=1;}}}
/*for(int i=1;i<21;i++){for(int j=0;j<50;j++)
{if(dp[i][j]==1)cout<<j<<' ';// else cout<<' '<<' ';
}cout<<endl;}*/int n;int s[200];while(cin>>n){int m=0;for(int i=0;i<200;i++)if(dp[n][i])s[m++]=i;cout<<s[0];for(int i=1;i<m;i++)cout<<' '<<s[i];cout<<endl;}return 0;
}
转载于:https://www.cnblogs.com/martinue/p/5490516.html
hdu1466(dp)相关推荐
- dp,sp,px相互转化
方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...
- [JS][dp]题解 | #打家劫舍(一)#
题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...
- HDU 2084 数塔(DP)(JAVA版)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- dp cf 20190615
A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit ...
- [NOI2005]聪聪与可可(期望dp)
题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...
- Codeforces 903F Clear The Matrix(状态压缩DP)
题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...
- 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)
A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05 最后更新: 2017年2月21日 20:06 时间限制: 1000ms 内存限制: 128M 描述 传说喵哈哈村有三种神 ...
- 尼克的任务 dp 洛谷1280
蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...
最新文章
- 二维物体形状识别方法比较
- Mysql分析性能(存储过程)
- wxWidgets:TextFrame 类的完整实现
- 学习响应式BootStrap来写融职教育网站,Bootsrtap第十天你的收获
- Java开发必须掌握的8种网站攻防技术
- 自己寫的 Loading JS插件
- [delphi]修改indy源码后重新编译
- codeforces 628D. Magic Numbers 数位dp
- 怎么捡自己空投_“吃鸡”里信号枪子弹可以复制?玩家发现神秘技巧,空投捡到手软...
- 逆向project实战--Afkayas.1
- 2021年甘肃省中职生高考成绩查询,甘肃2021年中专生怎么参加普通高考
- android客户端服务器传输,【图片】【转】通过Android 客户端上传数据到服务器【aide吧】_百度贴吧...
- Telink 825x 蓝牙开发笔记2
- 大数据分析应用的机遇与挑战
- 解读后天性学者症候群:怎么一闷棍砸出个天才?
- VTK:图形基本操作进阶——连通区域分析
- Android拓展系列(5)--CyanogenMod源码下载和编译(Android ROM定制基础篇)
- 【C++】完成一个消消乐
- 【Redis】五种存储类型及其底层数据结构
- 有限群元素的阶必然存在