mp3的intel cpu型号大全1518cfd

四月集训(5)
题目链接:
题目要求很简单,就是维护一个区间最大值和只保留节点最大值的区间最大值。比较麻烦的是带区间修改,普通的lazy_tag会使得第二项被漏算。所以我们需要修改一下lazy_tag,也就是维护一个add,add最大值,set,set最大值,lazy_set,lazy_add,具体的下放自己YY一下就可以写出来了。但真的很恶心,写了两遍才写过。。。
怎么感觉好像没什么好说的了。。。直接上代码吧:
#include &cstdio&
#include &cstring&
#include &iostream&
typedef long long LL;
const int maxn = ;
int A[maxn];
LL M[maxn*4],Mu[maxn*4],set[maxn*4],add[maxn*4],set_M[maxn*4],add_M[maxn*4];
bool lazy1[maxn*4],lazy2[maxn*4];
void Update(int u) {
int lc = u&&1,rc = lc|1;
M[u] = max(M[lc],M[rc]);
Mu[u] = max(Mu[lc],Mu[rc]);
void Build(int u,int l,int r) {
if(l == r) {M[u] = Mu[u] = A[l];}
int mid = (l+r) && 1;
Build(u&&1,l,mid);
Build(u&&1|1,mid+1,r);
Update(u);
void Make1(int u,LL w) {
if(lazy1[u]) {
set_M[u] = max(set[u],set_M[u]);
Mu[u] = max(Mu[u],set_M[u]);
if(!lazy2[u])add_M[u] =
else add_M[u] = max(add_M[u],add[u]);
lazy2[u] =
Mu[u] = max(Mu[u],M[u]+w);
void Make1(int u,LL w,LL MM) {
if(lazy1[u]) {
set_M[u] = max(set_M[u],set[u]+MM);
Mu[u] = max(Mu[u],set_M[u]);
if(lazy2[u])add_M[u] = max(add_M[u],add[u]+MM);
else add_M[u] = MM;
lazy2[u] =
Mu[u] = max(Mu[u],M[u]+MM);
void Make2(int u,LL w) {
if(lazy1[u]) {
set[u] =set_M[u] = max(set_M[u],set[u]);
lazy1[u] =set[u] = set_M[u] =
M[u] =Mu[u] = max(Mu[u],w);
void Make2(int u,LL w,LL MM) {
if(lazy1[u])set_M[u] = max(set_M[u],MM);
else set_M[u] = MM;
set[u] =lazy1[u] =
Mu[u] = max(Mu[u],set_M[u]);
void pushdown(int u) {
int lc = u&&1,rc = lc|1;
if(lazy2[u]) {Make1(lc,add[u],add_M[u]);Make1(rc,add[u],add_M[u]);}
if(lazy1[u]) {Make2(lc,set[u],set_M[u]);Make2(rc,set[u],set_M[u]);}
lazy1[u] = lazy2[u] = set[u] = set_M[u] = add[u] = add_M[u] = 0;
void Add(int u,int l,int r,int L,int R,int w) {
if(l &= L && r &= R) {Make1(u,w);}
pushdown(u);
int mid = (l+r) && 1;
if(L &= mid)Add(u&&1,l,mid,L,R,w);
if(R & mid)Add(u&&1|1,mid+1,r,L,R,w);
Update(u);
void Set(int u,int l,int r,int L,int R,int w) {
if(l &= L && r &= R) {Make2(u,w);}
pushdown(u);
int mid = (l+r) && 1;
if(L &= mid)Set(u&&1,l,mid,L,R,w);
if(R & mid)Set(u&&1|1,mid+1,r,L,R,w);
Update(u);
LL query1(int u,int l,int r,int L,int R) {
if(l &= L && r &= R)return M[u];
pushdown(u);
int mid = (l+r) && 1;
if(R &= mid)return query1(u&&1,l,mid,L,R);
if(L & mid)return query1(u&&1|1,mid+1,r,L,R);
return max(query1(u&&1,l,mid,L,R),query1(u&&1|1,mid+1,r,L,R));
LL query2(int u,int l,int r,int L,int R) {
if(l &= L && r &= R)return Mu[u];
pushdown(u);
int mid = (l+r) && 1;
if(R &= mid)return query2(u&&1,l,mid,L,R);
if(L & mid)return query2(u&&1|1,mid+1,r,L,R);
return max(query2(u&&1,l,mid,L,R),query2(u&&1|1,mid+1,r,L,R));
char s[5];
int main() {
scanf(&%d&,&n);int a,b,c;
for(int i = 1; i &= i++) {
scanf(&%d&,&A[i]);
Build(1,1,n);
scanf(&%d&,&q);
for(int i = 1; i &= i++) {
scanf(&%s&,s);
if(s[0] == 'Q') {
scanf(&%d%d&,&a,&b);
printf(&%lld\n&,query1(1,1,n,a,b));
else if(s[0] == 'A') {
scanf(&%d%d&,&a,&b);
printf(&%lld\n&,query2(1,1,n,a,b));
else if(s[0] == 'P') {
scanf(&%d%d%d&,&a,&b,&c);Add(1,1,n,a,b,c);
else if(s[0] == 'C') {
scanf(&%d%d%d&,&a,&b,&c);Set(1,1,n,a,b,c);
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4554次
排名:千里之外
原创:16篇
(7)(1)(2)(7)BZOJ3064: Tyvj 1518 CPU监控
BZOJ3064: Tyvj 1518 CPU监控
[摘要:问题链接 :/JudgeOnline/problem.php?id=3064 问题请求很简略,便是保护一个区间最大战只保存节面最大的区间最大。比拟贫苦的是带区间点窜,平凡的lazy_tag会使得第两项被漏]
题目链接:/JudgeOnline/problem.php?id=3064
题目要求很简单,就是维护一个区间最大值和只保留节点最大值的区间最大值。比较麻烦的是带区间修改,普通的lazy_tag会使得第二项被漏算。所以我们需要修改一下lazy_tag,也就是维护一个add,add最大值,set,set最大值,lazy_set,lazy_add,具体的下放自己YY一下就可以写出来了。但真的很恶心,写了两遍才写过。。。
怎么感觉好像没什么好说的了。。。直接上代码吧:
#include &cstdio& #include &cstring& #include &iostream&
typedef long long LL;
const int maxn = ;
int A[maxn];
LL M[maxn*4],Mu[maxn*4],set[maxn*4],add[maxn*4],set_M[maxn*4],add_M[maxn*4];
bool lazy1[maxn*4],lazy2[maxn*4];
void Update(int u) {
int lc = u&&1,rc = lc|1;
M[u] = max(M[lc],M[rc]);
Mu[u] = max(Mu[lc],Mu[rc]); }
void Build(int u,int l,int r) {
if(l == r) {M[u] = Mu[u] = A[l];}
int mid = (l+r) && 1;
Build(u&&1,l,mid);
Build(u&&1|1,mid+1,r);
Update(u); }
void Make1(int u,LL w) {
if(lazy1[u]) {
set_M[u] = max(set[u],set_M[u]);
Mu[u] = max(Mu[u],set_M[u]);
if(!lazy2[u])add_M[u] =
else add_M[u] = max(add_M[u],add[u]);
lazy2[u] =
Mu[u] = max(Mu[u],M[u]+w);
void Make1(int u,LL w,LL MM) {
if(lazy1[u]) {
set_M[u] = max(set_M[u],set[u]+MM);
Mu[u] = max(Mu[u],set_M[u]);
if(lazy2[u])add_M[u] = max(add_M[u],add[u]+MM);
else add_M[u] = MM;
lazy2[u] =
Mu[u] = max(Mu[u],M[u]+MM);
void Make2(int u,LL w) {
if(lazy1[u]) {
set[u] =set_M[u] = max(set_M[u],set[u]);
lazy1[u] =set[u] = set_M[u] =
M[u] =Mu[u] = max(Mu[u],w); }
void Make2(int u,LL w,LL MM) {
if(lazy1[u])set_M[u] = max(set_M[u],MM);
else set_M[u] = MM;
set[u] =lazy1[u] =
Mu[u] = max(Mu[u],set_M[u]);
void pushdown(int u) {
int lc = u&&1,rc = lc|1;
if(lazy2[u]) {Make1(lc,add[u],add_M[u]);Make1(rc,add[u],add_M[u]);}
if(lazy1[u]) {Make2(lc,set[u],set_M[u]);Make2(rc,set[u],set_M[u]);}
lazy1[u] = lazy2[u] = set[u] = set_M[u] = add[u] = add_M[u] = 0; }
void Add(int u,int l,int r,int L,int R,int w) {
if(l &= L && r &= R) {Make1(u,w);}
pushdown(u);
int mid = (l+r) && 1;
if(L &= mid)Add(u&&1,l,mid,L,R,w);
if(R & mid)Add(u&&1|1,mid+1,r,L,R,w);
Update(u); }
void Set(int u,int l,int r,int L,int R,int w) {
if(l &= L && r &= R) {Make2(u,w);}
pushdown(u);
int mid = (l+r) && 1;
if(L &= mid)Set(u&&1,l,mid,L,R,w);
if(R & mid)Set(u&&1|1,mid+1,r,L,R,w);
Update(u); }
LL query1(int u,int l,int r,int L,int R) {
if(l &= L && r &= R)return M[u];
pushdown(u);
int mid = (l+r) && 1;
if(R &= mid)return query1(u&&1,l,mid,L,R);
if(L & mid)return query1(u&&1|1,mid+1,r,L,R);
return max(query1(u&&1,l,mid,L,R),query1(u&&1|1,mid+1,r,L,R)); }
LL query2(int u,int l,int r,int L,int R) {
if(l &= L && r &= R)return Mu[u];
pushdown(u);
int mid = (l+r) && 1;
if(R &= mid)return query2(u&&1,l,mid,L,R);
if(L & mid)return query2(u&&1|1,mid+1,r,L,R);
return max(query2(u&&1,l,mid,L,R),query2(u&&1|1,mid+1,r,L,R)); }
char s[5];
int main() {
scanf(&%d&,&n);int a,b,c;
for(int i = 1; i &= i++) {
scanf(&%d&,&A[i]);
Build(1,1,n);
scanf(&%d&,&q);
for(int i = 1; i &= i++) {
scanf(&%s&,s);
if(s[0] == 'Q') {
scanf(&%d%d&,&a,&b);
printf(&%lldn&,query1(1,1,n,a,b));
else if(s[0] == 'A') {
scanf(&%d%d&,&a,&b);
printf(&%lldn&,query2(1,1,n,a,b));
else if(s[0] == 'P') {
scanf(&%d%d%d&,&a,&b,&c);Add(1,1,n,a,b,c);
else if(s[0] == 'C') {
scanf(&%d%d%d&,&a,&b,&c);Set(1,1,n,a,b,c);
return 0; }
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊戴尔14R1518散热严重 才买的新机子 加散热器cpu60度 显卡65度 玩游戏都上八十度_百度知道
戴尔14R1518散热严重 才买的新机子 加散热器cpu60度 显卡65度 玩游戏都上八十度
尊敬的戴尔用户您好:以下方法供您参考:由于所有的笔记本本身散热有局限性,建议您买一个笔记本散热垫来用!改善您的散热环境是很有必要的!戴尔真诚为您服务
这机子运行中温度检测数据烧的够疯狂的啊,建议你检查下散热是否通畅,风扇运转是否正常,散热片与芯片接触是否紧密,再者建议你选择正版原版操作系统,这样运行更稳定,性能更好,不要使用Ghost版本,否则在稳定性和散热性等各方面均是非常差的
来自团队:
其他类似问题
为您推荐:
其他3条回答
先听听声音笔记本是否有杂音(风扇的)是否有运转的声音、如果感觉正常。可以买个笔记的散热地盘一起用。
本散热不好,完全正常
很正常的。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 hp1518墨盒型号 的文章

 

随机推荐