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. JSP直接连接sql2008数据库并显示

    <%@ page contentType="text/html; charset=utf-8" language="java" errorPage=&qu ...

  2. javaWeb 使用jsp标签进行防盗链

    /** * 1.新建类继承SimpleTagSupport * 新建2个属性, 添加对应的set方法 * 覆盖doTag()方法 */ import java.io.IOException; impo ...

  3. Table Properties [AX 2012]

    Table Properties [AX 2012] 1 out of 2 rated this helpful - Rate this topic Updated: July 20, 2012 Ap ...

  4. altera soc体验之旅 FPGA与ARM的窃窃私语

      喜大普奔,公司要评估用SOC做产品,我就自然而然的被安排了学习和评估的工作,于是,每天的工作就是开始研究soc了.其实,只要能静下心来学习,一切都还是能够弄出来的. 以前像个无头苍蝇一样到处乱撞, ...

  5. JavaEE基础(二十三)/递归

    1.File类递归练习(统计该文件夹大小) 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 2.File类递归练习(删除该文件夹) 需求:2,从键盘接收一个文件夹路径,删除该文件夹 3.File ...

  6. 【转】MYSQL入门学习之二:使用正则表达式搜索

    转载地址:http://www.2cto.com/database/201212/173869.html 一.正则表达式介绍   www.2cto.com   正则表达式是用来匹配文本的特殊的串(字符 ...

  7. [团队项目]后续安排 Github

    6.后续安排 第16周 周二晚7点之前将本代码上传到GITHUB. 周三上课时运行你们的系统给我观赏一下. 根据博客,运行演示,github代码情况评定第二个冲刺的分数. 至此,软件工程学期平时分截止 ...

  8. Android listview下拉刷新 SwipeRefreshLayout

    今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...

  9. 【计算机网络】当输入URL后发生了什么

    我们使用一个非常简单的模型,并假设它是最简单的HTTP请求,不使用代理并且使用的是IPv4 1. 浏览器首先判断使用的是什么协议(ftp/http),然后对URL进行安全检查.最后浏览器查看缓存,如果 ...

  10. python-dev无法安装

    安装tensorflow之前需要先安装python-dev, 这个不能用pip install来安装,只能用sudo apt-get install来安装.安装后会发现还要先装另外两个东西,但是装这两 ...