1 duel
1.1 Description
K·⁄¶("“uƒ¢y%¥§H5|+ (?1’m" ’m·ø?1§z<k§⁄k<⁄§lm?0,1,2...§zg ‹‰ª«mS(?1ߧo?1cgß" 3gߥ§Win The Duel§Xkı§K?¿§ {=§=KlŁ˛¥K§{ØC§,Ølm ›#?0,1,2..." “‹3e(" )K3S§kn¶("K§{n−1¶fi†—Ł˛§KI J\§KƒØ§ƒƒUWin The Duelߌƒı§ K3\S?§XkıYƒß…Œ§?"
1.2 Input
11knŒn,c,K§L«(Œ!ßgŒ!K" e51n−1Œ§£ªfi†—Ł(" c1U^S£ªzgß3cS¥«m"
1.3 Output
ŒL«K3S¥?"
1.4 Sample Input
5 3 3
1
0
2
4
1 3
0 1
0 1
1.5 Sample Output
2
1
1.6 Data 50% : n ≤ 5000" 100% : n ≤ 100000§y?Œ3intS"
3
2 city
2.1 Description
C·I§ƒI[·¢‰|⁄/(§z¢‰k{w"CIl ¥!:8S˜veu,v ∈ S§K?¿3u,v Æ·»:pkp ∈ S" S{w8¥!:{w§\Izø{w"du›fl!”C§ zU‹k¢‰{wu)Cz§\I£zU˜{w"
2.2 Input
11kŒn,m§L«!:Œu)CzUŒ§¥¢‰?1n" 11nŒ§1iŒwiL«1i¢‰—'{w" e5n−11§z1Œx,y§L«x,y¢‰mk>º" e5m1§z1Œu,v§L«¢‰u{wCzv"
2.3 Output m + 11§1i1£ª1i−1UY"
2.4 Sample Input
6 3
-7 2 -6 2 9 -5
1 2
2 3
1 4
2 5
2 6
5 9
3 8
1 10
2.5 Sample Output
11
11
19
31
4
2.6 Data
20% : m = 0" 40% : n ≤ 20000,m ≤ 10000" 80% : m ≤ 30000" 100% : 1 ≤ n,m ≤ 200000,−1000 ≤ wi,v ≤ 1000"

  




  今天考试打了两个暴力,第一题是纯暴力的啦。第二题打的是一个dp,修改也只修改当前路径上的值。按道理来说这个复杂度是对的,但是我们还是可以旋转树,修改树高进行优化的说。另外第三题简直太难,完全写不了,题面我也不打算丢上来了。


我打的暴力:

T1

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<cstring>
int n,c,k,i,j,x,y,a[5010],w[5010],l[5010],r[5010],maxl,next[5010],tot,wz1,wz2,ma,wz3,ans;
bool f=true;
using namespace std;
int main()
{
freopen("duel.in","r",stdin); freopen("duel.out","w",stdout);
cin>>n>>c>>k;
for (i=1;i<n;i++) scanf("%d",&w[i]);
for (i=1;i<=c;i++) {scanf("%d%d",&l[i],&r[i]); l[i]++; r[i]++;}
for (j=1;j<=n;j++)
{
for (i=n;i>j;i--) {a[i]=w[i-1]; next[i]=i+1;}
a[j]=k; next[j]=j+1; f=true; tot=0; next[0]=1;
for (i=1;i<j;i++) {a[i]=w[i]; next[i]=i+1;}
i=0;
while (f && i<c)
{
i++;
x=0; wz1=0;
while (x<l[i]-1) {wz1=next[wz1];x++;}
y=x; wz2=wz1; ma=0; wz3=-1;
while (y-x<=r[i]-l[i])
{
wz2=next[wz2]; y++;
if (a[wz2]>ma) {ma=a[wz2]; wz3=wz2;}
}
if (wz3==j) tot++;
if (j>wz1 && j<=wz2 && a[j]<ma) f=false;
next[wz1]=wz3;
next[wz3]=next[wz2];
}
if (tot>maxl) {maxl=tot; ans=j;}
}
cout<<ans-1;
return 0;
}

T2

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<vector>
#define ll int
ll i,j,k,x,n,m,val[200010],y,dad[200010],fa,f[200010][2],bj[200010];
bool ff=true;
using namespace std;
vector <ll> a[200010];
ll max(ll x,ll y) {if (x>y) return x;else return y;}
void ss(ll sd)
{
for (ll i=0;i<a[sd].size();i++) if (bj[a[sd][i]]==0) { bj[a[sd][i]]=bj[sd]+1; dad[a[sd][i]]=sd; ss(a[sd][i]);}
ll tot=0,maxn=-0x7fffffff;
for (ll i=0;i<a[sd].size();i++) if (bj[a[sd][i]]>bj[sd]) {if (f[a[sd][i]][1]>0) tot+=f[a[sd][i]][1]; maxn=max(maxn,f[a[sd][i]][1]);}
f[sd][1]=val[sd]+tot;
f[sd][0]=maxn;
}
void xiugai(int sd)
{
ll tot=0,maxn=-0x7fffffff;
for (ll i=0;i<a[sd].size();i++) if (bj[a[sd][i]]>bj[sd]) {if (f[a[sd][i]][1]>0) tot+=f[a[sd][i]][1]; maxn=max(maxn,f[a[sd][i]][1]);}
f[sd][1]=val[sd]+tot;
f[sd][0]=maxn;
if (dad[sd]!=0) xiugai(dad[sd]);
}
int main()
{
freopen("city.in","r",stdin); freopen("city.out","w",stdout);
cin>>n>>m;
for (i=1;i<=n;i++) scanf("%d",&val[i]);
for (i=1;i<n;i++)
{
scanf("%d%d",&x,&y);
a[x].push_back(y);
a[y].push_back(x);
}
fa=n/2;
//while (dad[fa]!=0) fa=dad[fa];
m++;
while (m--)
{
if (!ff) {scanf("%d%d",&x,&y); val[x]=y; xiugai(x); ll ans=-0x7fffffff; for (i=1;i<=n;i++) {ans=max(ans,f[i][1]); if (f[i][0]!=0 && f[i][0]>ans) ans=f[i][0]; } printf("%d\n",ans); continue;}
//for (i=1;i<=n;i++) {f[i][0]=0; f[i][1]=val[i]; bj[i]=0;}
bj[fa]=1;
if (ff) ss(fa);
ff=false;
ll ans=-0x7fffffff;
for (i=1;i<=n;i++) {ans=max(ans,f[i][1]); if (f[i][0]!=0 && f[i][0]>ans) ans=f[i][0]; }
printf("%d\n",ans);
//scanf("%d%d",&x,&y);
//val[x]=y;
}
return 0;
}

3.27考试总结(hnoi难度)的更多相关文章

  1. 3.29考试(HNOI难度)

    一. 城镇 [ town ]   Memory Limit: 128 MB    Time Limit : 1s Description 在 farmer land 上,有 N 个 farmer to ...

  2. 3.25考试(hnoi难度)----神奇的一日游

    T1怕老婆 有一天hzy9819,来到了一座大城市拥有了属于他自己的一双滑板鞋.但是他还是不满足想要拥有属于自己的一栋楼,他来到了一条宽敞的大道上,一个一个记录着这些楼的层数以方便自己选择. hzy9 ...

  3. 2016.3.22考试(HNOI难度)

    T1 盾盾的打字机 盾盾有一个非常有意思的打字机,现在盾哥要用这台打字机来打出一段文章. 由于有了上次的经验,盾盾预先准备好了一段模板A存在了内存中,并以此为基础来打出文章B.盾盾每次操作可以将内存中 ...

  4. 2016 10 27 考试 dp 向量 乱搞

    目录 20161027考试 T1: T2: T3: 20161027考试 考试时间 7:50 AM to 11:15 AM 题目 考试包 据说这是一套比较正常的考卷,,,嗯,,或许吧, 而且,,整个小 ...

  5. 2021.7.27考试总结[NOIP模拟25]

    罕见的改完了题 T1 random 一堆概率,一堆函数,一堆递归,一眼不可做, 但它只有一个参数,所以.. 熠神本着"只有20太难看"的心态,通过样例三个出规律,口胡了一波$\fr ...

  6. 7.27考试总结(NOIP模拟25)[random·string·queue]

    死亡的尽头,没有神 T1 random 解题思路 这波是找规律完胜了.. lby dalao根据样例找出了正确的式子:\(\dfrac{n^2-1}{9}\) 然而,我这个菜鸡却推出了这样一个错误的式 ...

  7. 2021.10.27考试总结[冲刺NOIP模拟17]

    T1 宝藏 发现每个数成为中位数的长度是关于权值单调的.线段树二分判断是否合法,单调指针扫即可. 考场上写了二分,平添\(\log\). \(code:\) T1 #include<bits/s ...

  8. 《JavaScript网页特效经典300例》

    <JavaScript网页特效经典300例> 基本信息 作者: 杨磊    张志美 丛书名: 百炼成钢系列丛书 出版社:电子工业出版社 ISBN:9787121220524 上架时间:20 ...

  9. Struts2 验证码图片实例

    本文转载于DongLiYang的博客http://www.cnblogs.com/dongliyang/archive/2012/08/24/2654431.html 其中修改过一部分,针对使用注解而 ...

随机推荐

  1. JAVA NIO复习笔记

    1. JAVA NIO是什么? 从JDK1.4开始,java提供了一系列改进的输入/输出处理的新功能,这些功能被统称为新IO(New IO,简称NIO),新增了许多用于处理输入/输出的类,这些类都被放 ...

  2. 161207、高并发:java.util.concurrent.Semaphore实现字符串池及其常用方法介绍

    实现字符串池: StrPool.java import java.util.ArrayList; import java.util.List; import java.util.concurrent. ...

  3. 160906、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...

  4. How To Create a SSL Certificate on Apache for CentOS 6

    About Self-Signed Certificates 自签证书.一个SSL证书,是加密网站的信息,并创建更安全的链接的一种方式.附加地,证书可以给网站浏览者显示VPS的的身份证明信息.如果一个 ...

  5. Java SE、Java EE和Java ME有什么区别?

    Java现在已不仅仅是一种语言,从广义上说,它代表了一个技术体系.该体系根据应用方向的不同主要分为Java SE.Java EE和Java ME的3个部分. 1998年12月份Sun公司公布的Java ...

  6. count(*)、count(val)和count(1)的解释

    一.关于count的一些谣言: 1.count(*)比count(val)更慢!项目组必须用count(val),不准用count(*),谁用扣谁钱! 2.count(*)用不到索引,count(va ...

  7. Educational Codeforces Round 13 D:Iterated Linear Function(数论)

    http://codeforces.com/contest/678/problem/D D. Iterated Linear Function Consider a linear function f ...

  8. SlickGrid example 2: 按想要的风格展示列

    先上效果图. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...

  9. js获取url值

    // 获取地址栏的参数数组 function getUrlParams() { var search = window.location.search; // 写入数据字典 var tmparray ...

  10. CentOS安装solr 4.10.3

    Solr是什么? Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索 ...