Gravatar
小一米
积分:1050
提交:234 / 504
回复 @AntiLeaf :
蒟蒻求题目公开(话说这题好像还有点卡常数)

题目 2638 数列操作ψ
2017-03-27 14:50:07
Gravatar
小一米
积分:1050
提交:234 / 504
回复 @‎Alboi_真神名驴蛋蛋 :
我没找到这道题的提交地址,只好自己造数据了什么的了
而且我也注明来源了啊

题目 2638 数列操作ψ
2017-03-27 14:29:58
Gravatar
kZime
积分:1103
提交:334 / 677
输出记得用.lf傻B的用.llf错了数次

Gravatar
小字、小瓶子
积分:437
提交:175 / 311
暴搜。。。

Gravatar
FoolMike
积分:5214
提交:1165 / 2240
给出的A矩阵不一定满秩!

Gravatar
rewine
积分:3055
提交:755 / 1597
spj呢

题目 706 [SDOI 2005] 动物园
2017-03-27 11:51:24
Gravatar
*ZJ
积分:23
提交:3 / 18
大神求助,为何 wa 2个点(transport8 & transport11),不胜感激!!!!!!!!!!
#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 300005
using namespace std;
int n,m,tim,l=0,r=0,mid,ent;
int dr[MAXN],head[MAXN],task[MAXN][3];
int bs[MAXN][2],sz[MAXN],fa[MAXN],top[MAXN],tid[MAXN],deep[MAXN];
int aa[MAXN];
struct edge{int to,next,w;}e[MAXN*2];
void find_heavy(int u,int f,int ds)
{
sz[u]=1; fa[u]=f; dr[u]=ds; deep[u]=deep[fa[u]]+1;int ms=0;
for(int i=head[u],v=e[i].to,w=e[i].w;i;i=e[i].next,v=e[i].to,w=e[i].w)
{
if(v==f) continue;
find_heavy(v,u,ds+w);
sz[u]+=sz[v];
if(sz[v]>ms) ms=sz[v],bs[u][0]=v,bs[u][1]=w;
}
}
void connet_heavy(int u,int tp,int val)
{
top[u]=tp; tid[u]=++tim; aa[tim]=val;
if(!bs[u][0]) return;
connet_heavy(bs[u][0],tp,bs[u][1]);
for(int i=head[u],v=e[i].to,w=e[i].w;i;i=e[i].next,v=e[i].to,w=e[i].w)
{
if(v==fa[u]||v==bs[u][0]) continue;
connet_heavy(v,v,w);
}
}
void find_lca_op_dis()
{
for(int i=1;i<=m;i++)
{
int a=task[i][0],b=task[i][1],ta=top[a],tb=top[b],lca;
while(ta!=tb)
{
if(deep[ta]<deep[tb]) swap(ta,tb),swap(a,b);
a=fa[ta]; ta=top[a];
}
if(deep[a]<deep[b]) lca=a; else lca=b;
task[i][2]=dr[task[i][0]]+dr[task[i][1]]-2*dr[lca];
r=max(r,task[i][2]);
}
}
bool check()
{
int d[MAXN],o=0,k=0,maxn=0,mbxn=0;
memset(d,0,sizeof(d));
for(int i=1;i<=m;i++) if(task[i][2]>mid)
{
o++; mbxn=max(mbxn,task[i][2]);
int a=task[i][0],b=task[i][1],ta=top[a],tb=top[b];
while(ta!=tb)
{
if(deep[ta]<deep[tb]) swap(ta,tb),swap(a,b);
d[tid[ta]+1]++; d[tid[a]+1]--;
a=fa[ta]; ta=top[a];
}
if(deep[a]>deep[b]) swap(a,b);
d[tid[a]+1]++; d[tid[b]+1]--;
}
for(int i=1;i<=n;i++)
{
k+=d[i];
if(o==k) maxn=max(maxn,aa[i]);
}
if(mbxn-maxn<=mid) return true;
return false;
}
void work()
{
while(l<r)
{
mid=(l+r)/2;
if(check()) r=mid; else l=mid+1;
}
printf("%d",r);
}
int main()
{
scanf("%d%d",&n,&m);
for(int a,b,c,i=1;i<n;i++)
{
scanf("%d%d%d",&a,&b,&c);
e[++ent].to=a; e[ent].next=head[b]; e[ent].w=c; head[b]=ent;
e[++ent].to=b; e[ent].next=head[a]; e[ent].w=c; head[a]=ent;
}
for(int i=1;i<=m;i++) scanf("%d%d",&task[i][0],&task[i][1]);
deep[1]=1;
find_heavy(1,0,0);
connet_heavy(1,1,0);
find_lca_op_dis();
work();
return 0;
}

Gravatar
nonamenotitle
积分:170
提交:44 / 226

Gravatar
shy
积分:277
提交:79 / 165
。。无语了,用double输出和long double输出结果还能不一样、让Pascal只有10位的extended情何以堪

题目 2292 [HZOI 2015]西瓜
2017-03-26 22:22:23
Gravatar
‎MistyEye
积分:2488
提交:850 / 1904

Gravatar
kZime
积分:1103
提交:334 / 677
mdzz没有读入起点还能过一个点

Gravatar
Troywar
积分:745
提交:223 / 455
ctrlC+v上一题,忘记已经改变变量名的尴尬=-=

Gravatar
AAAAAAAAAA
积分:3265
提交:759 / 1404
和1682差不多

题目 2570 奔跑
2017-03-26 20:26:32
Gravatar
Hyoi_0Koto
积分:1192
提交:298 / 652
回复 @wspzz=5 : 此森林的另一棵树路过~

Gravatar
Regnig Etalsnart
积分:1562
提交:431 / 1020
回复 @Hyoi_cmath :
你好,辣鸡

Gravatar
TARDIS
积分:1688
提交:443 / 1080
01背包????

Gravatar
Hyoi_deque
积分:209
提交:50 / 92

Gravatar
皓芷
积分:709
提交:106 / 264
居然爆int。。。

Gravatar
Sky_miner
积分:2793
提交:902 / 1646
根本不能过编译

Gravatar
HZOI_蒟蒻一只
积分:1518
提交:319 / 790
啊♂?幻♂想♂乡?