HDU_5783_DivideTheSequence
HDU_5783_DivideTheSequence 点击打开链接
题意:
生成尽量多的连续的子串,且子串的前缀和大于等于0,输出符合题意的子串的数量。
这题目是参加四月份的个人训练赛遇到的,挺水的。但是因为没读懂题目和不懂得串的前缀和是什么东东,嗯。。。(此处省略几千字)
串的前缀和:
设有一个数组buf[10],前缀和为s[n];
buf[1]的前缀和为是s[1]=buf[1];
buf[2]的前缀和为是s[2]=buf[1]+buf[2];以此类推;
设遍历时元素的和为sum=0,子串的个数为ans=0;
所以这题目需要从后面往前遍历,一次相加各个元素。如果和大于等于零ans+1,sum清零。如果从前边开始遍历,就不能判断遇到负数时该串的前缀和是不是大于等于零(因为sum会清零)。
代码:
while(~scanf("%d",&n))
{
for(int i=;i<n;i++){
scanf("%lld",&buf[i]);
}
ll sum=;int cur=;//注意相加数的范围,一大坑,不要问我是怎么知道的(其实看数据范围,是应该能想到的)
for(int i=n-;i>=;i--){
sum+=buf[i];
if(sum>=){
cur++;
sum=;
}
}
printf("%d\n",cur);
}
HDU_5783_DivideTheSequence的更多相关文章
随机推荐
- git 查看、切换用户
查看命令: 查看用户名: git config user.name 查看用户邮箱: git config user.email 修改命令: 修改用户名: git config --global use ...
- E20180127-hm
retain vt. 保持; 留在心中,记住; 雇用; 付定金保留;
- E20171102-E
segment n. 环节; 部分,段落; [计算机] (字符等的) 分段; [动物学] 节片; distinct adj. 明显的,清楚的; 卓越的,不寻常的; 有区别的; 确切的;
- 13、git
安装Git 网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGit,linux建议使用Git GUI或者GITK.(windows下载exe安装包,linux可以使 ...
- Springboot 三种拦截Rest API的方法-过滤器、拦截器、切片
过滤器方式实现拦截(Filter) 通过继承Servlet的Filter类来实现拦截: @Component public class TimeFilter implements Filter { @ ...
- WKWebView 和 UIWebView 允许背景音乐自动播放(记录)
WKWebView WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.allowsInlin ...
- 同余模定理 HDOJ 5373 The shortest problem
题目传送门 /* 题意:题目讲的很清楚:When n=123 and t=3 then we can get 123->1236->123612->12361215.要求t次操作后, ...
- NPOI 导出excel数据超65535自动分表
工作上遇到的问题,网上找了一些资料 整理了一个比较可行的解决方案. NPOI 大数据量分多个sheet导出 代码段 /// <summary> /// DataTable转换成Excel文 ...
- LN : leetcode 513 Find Bottom Left Tree Value
lc 513 Find Bottom Left Tree Value 513 Find Bottom Left Tree Value Given a binary tree, find the lef ...
- 高效程序员的45个习惯·敏捷开发修炼之道(Practices of an Agile Developer)读书笔记
首先,这本书值得再看一遍——这次的阅读,有很多东西都是知其“形”,不知其“神”的,这导致了我对其中某些建议持怀疑态度,接受了的建议也有待商榷. 总之,先记录本书的一些信息: Practices of ...