zstu 2532 hdu 1466 计算直线的交点数
来源:互联网 发布:本科毕业论文 知乎 编辑:程序博客网 时间:2024/06/06 04:20
打表吧。。。
百度了一下原来最大只要n*(n-1)/2。。
一想到自己一开始定为40000还觉得小,每个节点保存的是answer,不知道每一层answer有多少个,而且有木有重复,再开了个40000多的flag数组。。居然笑了起来。。
其实200就可以了。。而且dp数组完全可以当做flag来用。。
假设我有m条线。。
我把m条线分为i个平行的 ,m-i个乱七八糟的(里面情况我不知道 想怎样怎样)
然后枚举一下m-i个的所有情况计算一下就可以了。
#include<stdio.h>#include<string.h>int dp[21][200];void build(){ memset(dp,0,sizeof(dp)); dp[0][0]=1; dp[1][0]=1; for(int i=2;i<=20;i++) { for(int j=0;j<=i;j++)//平行线们 { for(int k=0;k<=(i-j)*((i-j)-1)/2;k++) { if(dp[i-j][k]==1) { dp[i][k+j*(i-j)]=1; } } } }}int main(){ int n; build(); while(scanf("%d",&n)!=EOF) { for(int i=0;i<=n*(n-1)/2;i++) { if(dp[n][i]>0) { printf("%d",i); if(i==n*(n-1)/2) printf("\n"); else printf(" "); } } } return 0;}
0 0
- zstu 2532 hdu 1466 计算直线的交点数
- HDU 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- 计算直线的交点数(HDU 1466)
- HDU 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- hdu 1466计算直线的交点数
- hdu 1466 计算直线的交点数
- HDU 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- HDU - 1466 计算直线的交点数
- HDU 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- HDU 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- hdu 1466 计算直线的交点数
- 决定QGraphiciItem图形项自身坐标系统零点的最关键的地方
- Cpp_内联函数
- HDOJ 饭卡
- sqlserver字段添加注释方法
- iOS-UI-基本控件之UISwitch
- zstu 2532 hdu 1466 计算直线的交点数
- erlang趣事四
- MFC函数简单解释(更新至28日凌晨)
- iOS-UI-基本控件之UILabel
- LeetCode 32 - Longest Valid Parentheses
- BZOJ1170: [Balkan2007]Cipher|hash
- 要出发公司笔试题
- POJ 3368 Frequent values (RMQ)
- Nginx学习笔记七Nginx的Web缓存服务