懒人标记
来源:互联网 发布:手机语音打字软件 编辑:程序博客网 时间:2024/04/27 19:41
http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1149&pid=3
懒人标记代码o(n)
#include<iostream>#include<string>#include<cstring>#include<queue>using namespace std;const int N=100;int main(){ int a[N],b[N],dp[N]; queue<int> q; int i,j,k,tmp,n,m,text; cin>>text; while(text--) { memset(dp,0,sizeof(dp)); cin>>n>>m; for(i=0;i<m;i++) cin>>a[i]>>b[i],dp[a[i]]++,dp[b[i]+1]--;//标记 1 -1 for(i=2;i<=n;i++) dp[i]+=dp[i-1];//每间房打扫 的次数 for(i=1;i<=n;i++) if(dp[i]!=1&&dp[i]!=0) dp[i]=0;else dp[i]=1;//将打扫0 1次的房间标记为1 for(i=1;i<=n;i++) dp[i]+=dp[i-1];//前i个有 几个打扫房间打扫0 1次 for(i=0;i<m;i++) if(dp[b[i]]-dp[a[i]-1]==0) q.push(i+1);//判断是否有 打扫0 1次的房间 cout<<q.size()<<endl; if(q.size()==0) continue; tmp=q.front(); q.pop(); cout<<tmp; while(!q.empty()) { tmp=q.front(); q.pop(); cout<<" "<<tmp; } cout<<endl; }}
http://acm.hdu.edu.cn/showproblem.php?pid=1556
#include <cstdio>#include<iostream>#include<cstring>#include<string>using namespace std;#define lson l,m,rt<< 1#define rson m+1,r,rt<<1|1const int N=100000+10;int s[N];int main(){ int m,n,i,j,k,ans,tmp; while(scanf("%d",&n),n) { int a,b; memset(s,0,sizeof(s)); for(i=0;i<n;i++) scanf("%d%d",&a,&b),s[a]++,s[b+1]--; for(i=1;i<=n;i++) s[i]+=s[i-1]; for(i=1;i<n;i++) cout<<s[i]<<" "; cout<<s[n]<<endl; } return 0;}
0 0
- 懒人标记
- 线段树 -- 区间修改 【下放懒人标记】
- “懒人”
- 懒人
- 懒人
- 懒人
- 懒人
- 区间操作(线段树、树状数组、懒人标记、RMQ算法)
- 标记
- 标记
- 标记
- 标记
- 标记
- 标记
- 标记
- 标记
- 标记
- 标记
- Android SO逆向-多重继承
- c语言中,scanf里面要是数组要不要加&?
- js 删除一个节点的所有子元素节点的函数实现
- 第九周项目1-深复制体验(1)
- 七月算法机器学习笔记1--机器学习中的数学之数理统计和参数估计
- 懒人标记
- ES6编码规范全部(含node部分)
- 开始写一个电子商务网站02
- com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
- 1.为什么使用Log而不使用System.out?
- Xcode 插件管理器Alcatraz的安装和使用
- Time_wait 原理
- java基础(17)-- reactor和proactor模式
- 九种浏览器端缓存方法知多少