博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1698 Just a Hook
阅读量:6757 次
发布时间:2019-06-26

本文共 1935 字,大约阅读时间需要 6 分钟。

题目链接:

题目大意:给你三种硬币。分别面值为1,2,3。初始时,面值都为1,后面没更改一次,就把这个区间的银币换位面值为 X的硬币。最后求全部的硬币面值是多少。

直接贴代码啦

code:

#include
#include
#define L(u) (u<<1)#define R(u) (u<<1|1)const int M=100010;struct Node{ int l,r; int add,sum;}node[M*4];//int a[M];void pushup(int u){ node[u].sum=node[L(u)].sum+node[R(u)].sum; return ;}void pushdown(int u){ node[L(u)].add=node[u].add; node[L(u)].sum=(node[L(u)].r-node[L(u)].l+1)*node[u].add; node[R(u)].add=node[u].add; node[R(u)].sum=(node[R(u)].r-node[R(u)].l+1)*node[u].add; node[u].add=0;}void build(int i,int left,int right){ node[i].l=left; node[i].r=right; node[i].add=0; if(node[i].l==node[i].r) { node[i].sum=1; return; } int mid=(node[i].l+node[i].r)/2; build(L(i),left,mid); build(R(i),mid+1,right); pushup(i);}void update(int u,int left,int right,int val){ if(left<=node[u].l&&node[u].r<=right) { node[u].add=val; node[u].sum=(node[u].r-node[u].l+1)*val; //注意之处。这个区间的值是这么计算的 return ; } //node[u].sum=(right-left+1)*val; if(node[u].add) pushdown(u); int mid=(node[u].l+node[u].r)/2; if(right<=mid) update(L(u),left,right,val); else if(left>mid) update(R(u),left,right,val); else { update(L(u),left,mid,val); update(R(u),mid+1,right,val); } node[u].sum=node[L(u)].sum+node[R(u)].sum;}int query(int u,int left,int right){ if(left<=node[u].l&&node[u].r<=right) { return node[u].sum; } if(node[u].add) pushdown(u); int mid=(node[u].l+node[u].r)/2; if(right<=mid) return query(L(u),left,right); else if(left>mid) return query(R(u),left,right); else return (query(L(u),left,mid)+query(R(u),mid+1,right));}int main(){ int T,n,m,i,x,y,z; int k=0; scanf("%d",&T); while(T--) { k++; scanf("%d%d",&n,&m); build(1,1,n); for(i=0;i

转载地址:http://tyweo.baihongyu.com/

你可能感兴趣的文章
信用局项目总结阶段
查看>>
webbrowser自动实现登录博客园
查看>>
Javascript学习6 - 类、对象、继承
查看>>
Java并发编程:如何创建线程?
查看>>
Faster R-CNN CPU环境搭建
查看>>
IOS在线安装App
查看>>
base 镜像 - 每天5分钟玩转容器技术(10)
查看>>
六、编写第一个应用【外部nodejs调用】
查看>>
利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
查看>>
第16件事 愿景和目标要接地气
查看>>
细嚼慢咽 Mongoose 5
查看>>
Direct3D 11 Tutorial 7:Texture Mapping and Constant Buffers_Direct3D 11 教程7:纹理映射和常量缓冲区...
查看>>
Objective C内存管理进阶(一):实践准则
查看>>
TrackPoint_configure_ThinkPad_squeeze(06-16.2011)
查看>>
CSDN博客频道“移动开发之我见”主题征文活动
查看>>
PHPExcel常用方法汇总
查看>>
用户登陆的业务流程架构设计
查看>>
创建表的备份和删除
查看>>
HTML data属性
查看>>
Java 第一个程序 HelloWorld!
查看>>