codeforces日记371d
来源:互联网 发布:应收账款软件标志 编辑:程序博客网 时间:2024/06/05 07:31
题目:
解题思路:
依照题意最直接的解法会超时。改进的方案是使用一个nex数组记录水会流向的下一个未满的碟子。如2满3未满,则向1倒水时,倒满1之后直接跳到3.
ac代码:
#include <iostream>using namespace std;int a[200000];int b[200000];int nex[200000];int n;int add(int p,int x){ if(n==p) return n; b[p]+=x; if(b[p]>a[p]){ int remain=b[p]-a[p]; b[p]=a[p]; return nex[p]=add(nex[p],remain); } else{ return p; } } int main(){ int m; int flag; int p,x,k; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; b[i]=0; nex[i]=i+1; } cin>>m; for(int i=0;i<m;i++){ cin>>flag; if(flag==1){ cin>>p>>x; p--; add(p,x); } else{ cin>>k; cout<<b[k-1]<<endl; } }}
0 0
- codeforces日记371d
- codeforces日记 371b
- codeforces 日记371c
- codeforces日记371e
- codeforces 371D
- CodeForces 371D. Vessels
- CodeForces 371D Vessels
- codeforces 日记 373a
- Codeforces 371D. Vessels【并查集】
- Codeforces Round 371 D Animals and Puzzle
- Codeforces 371D (Union-find)
- CodeForces 617D CodeForces 617D
- CodeForces 101D
- CodeForces 103D
- CodeForces 222D Olympiad
- codeforces 242d
- CodeForces 111D
- 【codeforces】3D
- 忆2013,致2014 -- 一个程序员老总的年终总结之(五)
- jquery ui 简单的 table
- 位域及其内存对齐
- 【九度】题目1000:计算a+b
- ubuntu 命令
- codeforces日记371d
- git 使用
- Widows触发一个断点,其原因可能是堆被损坏
- Ubuntu中vim无法使用 提示:apt-get install时
- 从零开始-边学边做-塔防游戏-七彩三国(五)--SDL项目
- OpenGL学习(七) 矩阵学习
- 印刷电路板(PCB)的电磁兼容设计
- Makefile中的常用函数
- python,numpy等的安装方式以及Theano的安装、vim的python开发环境配置总结