NOIP2011 选择客栈
来源:互联网 发布:maven 自动构建 java 编辑:程序博客网 时间:2024/04/27 19:26
题目:http://www.luogu.org/problem/show?pid=1311#
分析:
用sum[i][j]记录前i个中颜色为j的有多少个,可以O(nk)预处理出来。
当w[i]<=p时,i对答案的贡献就是sum[i-1][color[i]]。
当w[i]>p时,i对答案的贡献就是sum[last][color[i]],last是最后一个满足w[i]<=p的元素序号。
总时间复杂度是O(n+nk)
代码:
#include <cstdio>#include <algorithm>using namespace std;const int Tmax=200005,Tmax2=55;int n,m,p,sum[Tmax][Tmax2],w[Tmax],f,last,color[Tmax];void work(){ int i; for(i=1;i<=n;i++) { if(w[i]<=p) { last=i; f+=sum[i-1][color[i]]; } else f+=sum[last][color[i]]; } printf("%d",f); return;}int main(){ int i,j,a,b; scanf("%d%d%d",&n,&m,&p); for(i=1;i<=n;i++) { scanf("%d%d",&a,&b); w[i]=b; color[i]=a; sum[i][a]++; for(j=0;j<m;j++) sum[i][j]+=sum[i-1][j]; } work(); return 0;}
0 0
- NOIP2011 选择客栈
- NOIP2011 选择客栈
- 【NOIP2011】选择客栈 乱搞
- 选择客栈 noip2011
- NOIP2011 选择客栈
- NOIp2011 选择客栈
- NOIP2011选择客栈 贪心
- NOIP2011选择客栈
- 【NOIP2011】选择客栈
- 【NOIP2011】【DP】选择客栈
- NOIP2011 选择客栈
- [NOIP2011][分治]选择客栈
- 【Noip2011】选择客栈
- 栈-----noip2011 选择客栈
- #NOIP2011#选择客栈
- NOIP2011 选择客栈
- [P1311][NOIP2011]选择客栈
- NOIP2011选择客栈
- java之常量池
- C++数据结构之链式队列(Linked Queue)
- Andrew Ng机器学习课程9
- Java内部类的作用
- JAVA初学笔记
- NOIP2011 选择客栈
- JSP JSTL EL标签使用
- UC/OS II事件管理(3)之互斥信号量管理
- 黑马程序员——oc之Foundation框架
- 《剑指offer》反转链表
- java集合框架基础
- 快速理解类的访问控制(public,protected,private)
- 面向对象(多态,抽象类,接口的比较)
- MySQL基本用法