hdu 5203(枚举)
题意:一个长为n的木棍又n个长度为1的小木棍组成,但有一些小木棍是坏的,给出了那些位置上的小木棍是坏的,现在要把长木棍切割成4条,要求其中3条都是不包含坏木棍且长度和最大,而且这3条好木棍可以组成一个三角形,问有多少种切割方式。
解题思路:
首先可以很快的求出最短的坏木棍,接下来就会出现两种情况,假设砍掉的坏木棍节点分别为L和R;
1、L=1或R=n
这样剩下的三段是由一整段木棒截来,我们可以枚举最左边一段的长度,这样可以得到一个关于第二段木棍的不等式,稍微讨论一下即可。
由组成三角形的条件可知
(x1+n-x1-x2)>x2 得x2<n/2,同样可得x1<n/2
x1+x2>n-x1-x2 得x2>n/2-x1
即有 n/2-x1<x2<n/2
则符合条件的x2的个数为(n-1)/2-(n/2-x1) //注意这里是小于不是小于等于,所以要多减个1
2、砍掉的坏木棍是中间的一截,这样的情况就很容易了,枚举即可。
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;int l,r,x,n,m;
int ok(int a,int b,int c)
{if(a<b) swap(a,b);if(a<c) swap(a,c);if(b+c>a) return true;else return false;
}
long long calc2(int x,int y)
{long long tot=0;for(int i=1;i<x;i++)if(ok(i,x-i,y)) tot++;for(int i=1;i<y;i++)if(ok(i,y-i,x)) tot++;return tot;
}
long long calc1(int n)
{long long tot=0;for(int i=1;i<=n-2;i++) if(2*i<n) {tot+=(n-1)/2-(n/2-i);}return tot;
}
int main()
{while(scanf("%d%d",&n,&m)!=EOF){l=n,r=1;for(int i=1;i<=m;i++){scanf("%d",&x);l=min(l,x);r=max(r,x);}if(r==n) printf("%lld\n",calc1(l-1));else if(l==1) printf("%lld\n",calc1(n-r));else printf("%lld\n",calc2(l-1,n-r));}return 0;
}
hdu 5203(枚举)相关推荐
- hdu 4681(枚举+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 思路:首先预处理出串C在A,B中的所有的位置,然后从前向后求一次最长公共子序列,从后向前求一次最 ...
- hdu 4421(枚举+2-sat)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4421 思路:枚举32位bit,然后2-sat判断可行性,这里给出2-sat矛盾关系构图: 1.a&am ...
- hdu 3006 枚举集合可以产生的所有并集的集合
http://acm.hdu.edu.cn/showproblem.php?pid=3006 刚买的CHERRY键盘 手感真好 可惜不习惯 写代码老是打错,一个题写了一上午,都是各种按错键DEBUG. ...
- hdu 2058 枚举区间和个数
题意: 给你两个数n,m,意思是有一个序列长度n,他是1 2 3 4 ...n,然后让你输出所有连续和等于m的范围. 思路: 是个小水题,随便写几个数字就能发现规律了,我们可以 ...
- hdu 5504(枚举+找规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5504 官方题解: 注意先特判0 的情况:如果读入的数据有0 ,那么去掉所有的0 且最后答案和0 取一个 ...
- hdu 1692(枚举+剪枝)
题意:给你一些井的信息,井中原有的水,当井中的水满足一定量后会被破坏并且这些水全部流入下一个井中,用多少能量能直接破坏这个井.然后问要想破坏第n口井至少要多少能量. 解题思路:这题首先是要找到从哪口井 ...
- 和项目组研究计算几何
一,凸包 二维凸包:可用极角排序后每次倍增一个点看是否在栈顶两个点内侧,在内侧就加入栈,否则弹出一个.优化是在省去了计算极角的计算量,采用xy排序,从x最小倍增一遍求上边界,再从x最大反过来求下边界. ...
- hdu 5099 Comparison of Android versions 枚举题意
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5099 卡读题,实际上题目中表述的题意并不完整,所以要认真读并且加上一些现实的"常识" ...
- HDU 4763 Theme Section(KMP+枚举公共前后缀)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4763 题目大意: 给你一个字符串s,存在一个 子串E同时出现在前缀.中间.后缀,即EAEBE这种模式 ...
最新文章
- Android 经典欧美小游戏 guess who
- 自建邮件服务器给企业带来的商业价值
- Android --- 从相册中选择图片或者拍着选择图片遇到的问题
- python自动化工具哪个好用_10款好用的自动化测试工具推荐
- Xcode 的正确打开方式——Debugging
- PyODPS DataFrame:统一的数据查询语言
- iOS系统的特点-iOS为什么运行更流畅
- 单细胞分析Seurat使用相关的10个问题答疑精选!
- 进云仿美团外卖平台 v1.39源码
- 腾讯终于有动作了:国行版Switch快来了...
- 【报告分享】中国人工智能厂商全景报告.pdf(附下载链接)
- bmklocationmanager方法没有回调_关于node中的回调(必学)
- adobe pdf for linux,Linux PDF阅读软件Adobe Reader 9.5.5发布( for linux)
- 车轮轨迹原理_三张图告诉你倒车入库的原理
- 《人机交互技术》结课作业:界面调研报告交互界面设计快速原型设计(华科软院)
- img-polaroid_这个由AI驱动的宝丽来会散发出幼稚的图画而不是照片
- 【RC延迟电路与缓慢泄放电路 】 multisim 14.0仿真 参数计算
- 洛谷1967 火车运输 kruskal求最大生成树 倍增LCA维护最小值
- 第一个项目单个交换机接入网络
- cms织梦内容标签是哪个_CMS内容组织结构:树,构面,标签
热门文章
- 中奖名单 | 价值 199 的大数据平台研发课程幸运er
- webservice axis1.4生成客户端
- Educational Codeforces Round 32
- 从内容云到一云多屏 云计算助力传统媒体转型
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
- easyui datagrid 绑定json对象属性的属性
- 使用Sass预定义一些常用的样式,非常方便(转)
- freebsd 运维人员
- WEBMIN管理Centos5.2 or RedHat5.2以上版本时samba用户不能同步系统帐户
- engineering likes?