Problem

Number

Time  Limit:  10  Sec\mathrm{Time\;Limit:\;10\;Sec}
Memory  Limit:  128  MB\mathrm{Memory\;Limit:\;128\;MB}

Description

NN个正整数,需要从中选出一些数,使这些数的和最大。
若两个数a,ba,b同时满足以下条件,则a,ba,b不能同时被选

  1. 存在正整数cc,使a2+b2=c2a^2+b^2=c^2
  2. gcd(a,b)=1\gcd(a,b)=1

Input

第一行一个正整数NN,表示数的个数。
第二行NN个正整数a1,a2,,aNa_1,a_2,\cdots ,a_N

Output

最大的和。

Read more »

Problem

千钧一发

Time  Limit:  10  Sec\mathrm{Time\;Limit:\;10\;Sec}
Memory  Limit:  512  MB\mathrm{Memory\;Limit:\;512\;MB}

Description

![][1]

Input

第一行一个正整数NN
第二行共包括NN个正整数,第 个正整数表示AiA_i
第三行共包括NN个正整数,第 个正整数表示BiB_i

Output

共一行,包括一个正整数,表示在合法的选择条件下,可以获得的能量值总和的最大值。

Read more »

Problem

聪聪可可

Time  Limit:  3  Sec\mathrm{Time\;Limit:\;3\;Sec}
Memory  Limit:  259  MB\mathrm{Memory\;Limit:\;259\;MB}

Description

聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃、两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已经玩儿腻了这种低智商的游戏。他们的爸爸快被他们的争吵烦死了,所以他发明了一个新游戏:由爸爸在纸上画nn个“点”,并用n1n-1条“边”把这nn个“点”恰好连通(其实这就是一棵树)。并且每条“边”上都有一个数。接下来由聪聪和可可分别随即选一个点(当然他们选点时是看不到这棵树的),如果两个点之间所有边上数的和加起来恰好是33的倍数,则判聪聪赢,否则可可赢。聪聪非常爱思考问题,在每次游戏后都会仔细研究这棵树,希望知道对于这张图自己的获胜概率是多少。现请你帮忙求出这个值以验证聪聪的答案是否正确。

Input

输入的第11行包含11个正整数nn。后面n1n-1行,每行33个整数xxyyww,表示xx号点和yy号点之间有一条边,上面的数是ww

Output

以即约分数形式输出这个概率(即“a/ba/b”的形式,其中aabb必须互质。如果概率为11,输出“1/11/1”)。

Read more »

Problem

【IOI2011】Race

Time  Limit:  70  Sec\mathrm{Time\;Limit:\;70\;Sec}
Memory  Limit:  128  MB\mathrm{Memory\;Limit:\;128\;MB}

Description

给一棵树,每条边有权.求一条简单路径,权值和等于KK,且边的数量最小.N2×105N\le 2\times 10^5, K106K\le 10^6

Input

第一行 两个整数 n,kn, k
第二至nn行 每行三个整数,表示一条无向边的两端和权值 (注意点的编号从00开始)

Output

一个整数 表示最小边数量,如果不存在这样的路径,输出1-1

Read more »

Problem

【JOI2013】稻草人

Time  Limit:  40  Sec\mathrm{Time\;Limit:\;40\;Sec}
Memory  Limit:  256  MB\mathrm{Memory\;Limit:\;256\;MB}

Description

JOI\mathrm{JOI}村有一片荒地,上面竖着NN个稻草人,村民们每年多次在稻草人们的周围举行祭典。
有一次,JOI\mathrm{JOI}村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地。和启示中的一样,田地需要满足以下条件:

  • 田地的形状是边平行于坐标轴的长方形
  • 左下角和右上角各有一个稻草人
  • 田地的内部(不包括边界)没有稻草人

给出每个稻草人的坐标,请你求出有多少遵从启示的田地的个数。

Input

第一行一个正整数NN,代表稻草人的个数。
接下来NN行,第ii(1iN)(1\le i\le N)包含22个由空格分隔的整数XiX_iYiY_i,表示第ii个稻草人的坐标。

Output

输出一行一个正整数,代表遵从启示的田地的个数。

Read more »

Problem

【AMPPZ2014】The Cave

Time Limit: 5Sec5 Sec
Memory Limit: 256MB256 MB
SpecialJudgeSpecial Judge

Description

给定一棵有nn个节点的树,相邻两点之间的距离为11
请找到一个点xx,使其满足所有mm条限制 a b da\ b\ d,其中第ii条限制为distx,a+distx,bddist_{x,a}+dist_{x,b}\le d

Input

第一行包含一个正整数tt(1t10001\le t\le 1000),表示数据组数。
对于每组数据,第一行包含两个正整数n,mn,m(2n,m3×1052\le n,m\le 3\times 10^5),表示点数、限制数。
接下来n1n-1行,每行两个正整数x,yx,y(1x,yn1\le x,y\le n),表示树上的一条边。
接下来mm行,每行三个正整数a[i],b[i],d[i]a[i],b[i],d[i](1a[i],b[i]n1\le a[i],b[i]\le n, 1d[i]6×1051\le d[i]\le 6\times 10^5),描述一条限制。
输入数据保证所有nn之和不超过 3×1053\times 10^5,所有mm之和也不超过 3×1053\times 10^5

Output

输出tt行。第ii行输出第ii组数据的答案,如果无解输出NIENIE,否则输出TAKTAK
然后输出xx,如有多组解,输出任意一组。

Read more »

Problem

【NOIp2007】Core树网的核

Time Limit: 10Sec10 Sec
Memory Limit: 64MB64 MB

Description

T=(V,E,W)T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称TT为树网(treenetworktreenetwork),其中V,EV, E分别表示结点与边的集合,WW表示各边长度的集合,并设TTnn个结点。 路径:树网中任何两结点a,ba,b都存在唯一的一条简单路径,用d(a,b)d(a,b)表示以a,ba,b为端点的路径的长度,它是该路径上各边长度之和。我们称d(a,b)d(a,b)a,ba,b两结点间的距离。 一点vv到一条路径PP的距离为该点与PP上的最近的结点的距离: d(vP)=minuPd(vu)d(v,P)=min_{u在P上}{d(v,u)}。 树网的直径:树网中最长的路径称为树网的直径。对于给定的树网TT,直径不一定是唯一的,但可以证明:各直径的中点(不一定恰好是某个结点,可能在某条边的内部)是唯一的,我们称该点为树网的中心。 偏心距ECC(F)ECC(F):树网TT中距路径FF最远的结点到路径FF的距离,即 。 任务:对于给定的树网T=(V,E,W)T=(V, E,W)和非负整数ss,求一个路径FF,它是某直径上的一段路径(该路径两端均为树网中的结点),其长度不超过ss(可以等于ss),使偏心距ECC(F)ECC(F)最小。我们称这个路径为树网T=(V,E,W)T=(V,E,W)的核(CoreCore)。必要时,FF可以退化为某个结点。一般来说,在上述定义下,核不一定只有一个,但最小偏心距是唯一的。 下面的图给出了树网的一个实例。图中,ABA-BACA-C是两条直径,长度均为2020。点WW是树网的中心,EFEF边的长度为55。如果指定s=11s=11,则树网的核为路径DEFGDEFG(也可以取为路径DEFDEF),偏心距为88。如果指定s=0s=0(或s=1s=1s=2s=2),则树网的核为结点FF,偏心距为1212

Input

包含nn行: 第11行,两个正整数nnss,中间用一个空格隔开。其中nn为树网结点的个数,ss为树网的核的长度的上界。设结点编号依次为1,2,,n1, 2, \cdots, n。 从第22行到第nn行,每行给出33个用空格隔开的正整数,依次表示每一条边的两个端点编号和长度。例如,“2 4 72\ 4\ 7”表示连接结点2244的边的长度为77。 所给的数据都是正确的,不必检验。

Output

只有一个非负整数,为指定意义下的最小偏心距。

Read more »

Problem

Tree

Time  Limit:  10  Sec\mathrm{Time\;Limit:\;10\;Sec}
Memory  Limit:  64  MB\mathrm{Memory\;Limit:\;64\;MB}

Description

给你一棵树以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于KK

Input

NNN40000N\le 40000) 接下来n1n-1行边描述管道,按照题目中写的输入 接下来是KK

Output

一行,有多少对点之间的距离小于等于KK

Read more »

Problem

【AMPPZ2014】Petrol

Time  Limit:  10  Sec\mathrm{Time\;Limit:\;10\;Sec}
Memory  Limit:  256  MB\mathrm{Memory\;Limit:\;256\;MB}

Description

给定一个nn个点、mm条边的带权无向图,其中有ss个点是加油站。
每辆车都有一个油量上限bb,即每次行走距离不能超过bb,但在加油站可以补满。
qq次询问,每次给出x,y,bx,y,b,表示出发点是xx,终点是yy,油量上限为bb,且保证xx点和yy点都是加油站,请回答能否从xx走到yy

Input

第一行包含三个正整数n,s,mn,s,m(2sn2×1052\le s\le n\le 2\times 10^5,1m2×1051\le m\le 2\times 10^5),表示点数、加油站数和边数。
第二行包含ss个互不相同的正整数c[1],c[2],...c[s]  (1c[i]n)c[1],c[2],...c[s]\;(1\le c[i]\le n),表示每个加油站。
接下来mm行,每行三个正整数u[i]u[i],v[i]v[i],d[i]d[i](1u[i],v[i]n1\le u[i],v[i]\le n,u[i]v[i]u[i]\ne v[i],1d[i]1051\le d[i]\le 10^5),表示u[i]u[i]v[i]v[i]之间有一条长度为d[i]d[i]的双向边。
接下来一行包含一个正整数qq(1q2×1051\le q\le 2\times 10^5),表示询问数。
接下来qq行,每行包含三个正整数x[i],y[i],b[i]x[i],y[i],b[i](1x[i],y[i]n1\le x[i],y[i]\le n,x[i]y[i]x[i]\ne y[i],1b[i]2×1091\le b[i]\le 2\times 10^9),表示一个询问。

Output

输出qq行。第ii行输出第ii个询问的答案,如果可行,则输出TAK\mathrm{TAK},否则输出NIE\mathrm{NIE}

Read more »

Problem

【AMPPZ2014】The Prices

Time  Limit:  20  Sec\mathrm{Time\;Limit:\;20\;Sec}
Memory  Limit:  256  MB\mathrm{Memory\;Limit:\;256\;MB}

Description

你要购买mm种物品各一件,一共有nn家商店,你到第ii家商店的路费为d[i]d[i],在第ii家商店购买第jj种物品的费用为c[i][j]c[i][j],求最小总费用。

Input

第一行包含两个正整数n,mn,m(1n1001\le n\le 100,1m161\le m\le 16),表示商店数和物品数。
接下来nn行,每行第一个正整数d[i]d[i](1d[i]1061\le d[i]\le 10^6)表示到第ii家商店的路费,接下来mm个正整数,
依次表示c[i][j]c[i][j](1c[i][j]<1061\le c[i][j]< 10^6)。

Output

一个正整数,即最小总费用。

Read more »