JLOI2015试题大意及部分题解

原创 2015年04月20日 11:55:42

================Day1===============

T1:求(b+d2)n的整数部分对p取模后的值
其中bmod2=1,dmod4=1,b2d<(b+1)2,n1018

思路:
构造数列an=ban1+db24an2
其中a0=2,a1=b
然后我们求出这个数列的通项公式,得到an=(b+d2)n+(bd2)n
因此得到(b+d2)n=an(bd2)n
由于bmod2=1,dmod4=1,因此db24一定是个正整数,故我们可以利用矩阵乘法来求出这个数列的第n
然后对于80%的数据b2d<(b+1)2,对于20%的数据b=1,d=5,因此bd2(1,0]
故后面那一项对答案有贡献当且仅当db2n为偶数
时间复杂度O(log2n)

TMD我居然看错题了= = 我居然没有看到【整数部分】这四个字= =
当我反应过来这道题的意思时只剩20min了。。。20min。。。
我只能把b100,n5的40分交上去了QwQ
跪95pts的KuribohG……

T2:给定一棵树,每个节点是一座城池,有一个坚固程度hi,和两个参数aivi,其中ai{0,1}
m个骑士,每个骑士有一个初始攻击力xi,从某个节点出发,沿该节点向父亲节点一路攻克
当骑士到达某个节点时,若骑士的攻击力小于城池的坚固程度,骑士将会牺牲在这个城池,否则骑士的攻击力将会发生一个变化并继续攻略这个节点的父亲节点。攻击力变化如下:
若该节点的ai=0,那么骑士的攻击力将会增加vi
若该节点的ai=1,那么骑士的攻击力将会乘上vi
数据保证当ai=1vi>0
注意不同骑士的攻击是相互独立的,你可以认为这m个骑士存在于m条不同的世界线中。
最后输出每个骑士牺牲在了哪座城池(未牺牲输出0),以及每座城池中牺牲了多少骑士

思路:由于攻克一个城池之后骑士之间的攻击力大小关系不变,因此我们可以维护一个可并堆来维护每个城池中的骑士
对于每个节点,首先将所有儿子节点上的可并堆合并过来,然后将<hi的堆顶弹掉,然后搞一搞标记就好了

这题不难啊= = 似乎只有我一个AC的= =?(不知道聂恺辰Rejudge之后的细分= =
18357写了个Splay启发式合并调了3h然后爆零。。。
wyfcyx写了倍增不知道为什么也爆零了。。。
【wyfcyx:等代码发下来之后你们看看我代码就知道怎么回事了】
= =

T3:给定n个武器,每个武器有m个属性和一个价格,如果一个武器的属性可以被其它几个武器线性表示,那么B君就不会购买这个武器,求最多买多少武器以及买最多武器的前提下最少花多少钱
n,m500

思路:
裸拟阵……
维护线性基,将武器按价格排序,从小到大塞进去,如果能塞进去就买,塞不进去就不买

精度问题?卡了10pts
其他人最高30分……
这是裸题啊……

于是230分拿到Rank1= = 第二150。。。

================Day2===============
T1:求有多少个nm列的矩阵满足每个数都在[0,m]之间且ai,j<ai,j+1,ai,j<ai1,j+1

思路:
把互相有大小关系的点对连上一条有向 容易发现任意一条边都在至少一条长度为m的链上 而取值最多有m+1个,因此任意一条链上最多有一条边两端的点相差2
然后转化一下就变成了这样一坨东西:
我不是图片描述
如图,只能向右和向上走,求从左下角走到右上角不跨越两条对角线的方案数

……很不幸我只会处理nm的情况= = n>m的情况貌似很复杂?
反正搞到了50分= = 暴力60= =

UPD:扒了一下午毕姥爷的标程之后终于看懂怎么做了QAQ
首先我们考虑用方案的全集减掉跨越了的方案
如果用全集-跨越第一条的方案-跨越第二条的方案+两条都跨越的方案
第四种情况将会十分难以计算
(官方题解中写的Cn2n+m是不对的!~)

我们画两条辅助线 分别是直线y=x+1和直线y=x(m+2)
为了方便我们称这两条直线为A和B
那么容易发现如果一种方案不合法 那么路线一定触碰了直线A或直线B
但是触碰的情况可能非常复杂 比如ABABBABBBAA啥的= =
为了避免重复计数我们把相同的都缩掉 变成ABABABA这样的串
然后怎么搞呢?
我们令初始点为(n+m+1,n),然后我们做这样的操作:
将当前点沿直线A翻转,然后把原点到当前点的方案数从答案中扣除;
将当前点(注意此时已经翻转过了)沿直线B翻转,然后把原点到当前点的方案数从答案中加回来;
反复如此直到某一坐标<0 此时无论如何进行下去方案数都是0了
这样做相当于把以A和AB为后缀的方案删除,然后把以BA和BAB为后缀的方案加回去,然后把以ABA和ABAB为后缀的方案删除……
最后我删除了什么?没错,以A为前缀的所有方案!
然后我们先沿B翻转再做一次,就删掉了以B为前缀的所有方案
这样这题就在O(n)的时间搞出来了……
不得不说毕姥爷太神了QwQ

T2:给定一张n1000,m3000的图,每条边有边权,有p10个关键点,每个关键点有一个颜色,现在要求一个边权和最小的生成子图,使同种颜色的关键点互相连通

思路:
fS表示颜色S的所有点构成的最小斯坦纳生成森林(其中S是颜色的集合)
那么我们首先我们先求出每个状态的所有点构成的最小斯坦纳生成树
然后跑DP
fS=max{fS,fT+fST|TS}
复杂度上界似乎是(3pn+2pSPFA(n,m))2p2+3p2?
不过分析一下可以得到更好的上界
如果一种颜色只有一个点 那么这种颜色显然对答案没有贡献
因此极限情况应该是p2种颜色 每种颜色有两个点
那么我们做斯坦纳树的时候 其实复杂度应该是这样的(下面以3p项为例)
3p+C(p2,p21)3p2+C(p2,p22)3p4+...+C(p2,0)30
=10p2
因此最终的复杂度是10p2n+5p2SPFA(n,m)+3p2
大概1E的复杂度……尊口怕呀尊口怕

UPD:我傻逼吧一遍斯坦纳树就能搞出所有颜色集合的最小斯坦纳树了为何要做2p2遍= =
复杂度O(3pn+2pSPFA(n,m))

考场上判掉每种颜色都只有一个点的情况,然后无视颜色,斯坦纳树裸跑可以拿到90分
(我写的不好只拿到80分

T3:给定一棵满二叉树,每个点有AB两种状态,你可以任意指定,若某个节点和子树中的某个叶节点同时选择A状态会产生一个贡献,若同时选择B状态会产生另一个贡献,要求选择A状态的人不超过m个,求贡献总和最大
二叉树深度10

题解戳这里
AC爷就是屌

我没写这题= = 没时间了

Day2就这样130滚粗了= = 然后我居然Rank2(3)?
18357凭借第三题的Accepted怒拿Rank1 跪跪跪跪跪

代码戳这里

【JLOI2015】战争调度(war)

Description Solution 一开始看这题,毫无头绪…… 不过发现n十分的小,最多只有10,想一想暴搜加优化。 先试着打了打暴搜,从上往下枚举状态,然后搜索到子节点的时候,再统...
  • doyouseeman
  • doyouseeman
  • 2016年07月04日 10:02
  • 493

【BZOJ4003】【JLOI2015】城池攻占 可并堆

题解: 傻题随便上数据结构都能搞过。 可并堆或者启发式合并splay都可以。 考试时状态太差一个裸模板启发式合并splay调了3h最后还爆零了Qwq、 200行!!!!!! 然后可并堆又快又...
  • Vmurder
  • Vmurder
  • 2015年04月21日 14:29
  • 2189

JLOI2015试题大意及部分题解

================Day1===============T1:求(b+d√2)n(\frac{b+\sqrt d}2)^n的整数部分对p取模后的值 其中bmod2=1,dmod4=1,...
  • PoPoQQQ
  • PoPoQQQ
  • 2015年04月20日 11:55
  • 6029

[JLOI2015]装备购买 解题报告

我们考虑对这些向量高斯消元出的上三角矩阵中不全为0的向量。(它们其实就是线性基) 首先,对于那些还存在一个向量中此位不为0的位,我们称它为有效位。则无论我们以何种顺序何种方式消元,它所有线性基的有效...
  • TA201314
  • TA201314
  • 2016年03月31日 18:18
  • 522

2005年第29届ACM ICPC世界总决赛的试题解析

去年Final在上海举办时我已经退役,所以没有参加。不过我当时看了比赛的直播,并也看了一下题目。我刚刚又重新看了一下题目,写了一篇对题目算法的简要分析,在此与大家探讨。 Problem A这是一道难题...
  • wuyingying
  • wuyingying
  • 2006年04月02日 22:49
  • 6623

ACM大量习题题库及建议培养计划

ACM大量习题题库  ACM大量习题题库  现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge。除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库。 ...
  • mad2man
  • mad2man
  • 2014年10月04日 10:57
  • 21403

JLOI2015Day1测试总结

每天都是坑在数据结构题,今天第二题改到交都还是Wa,结果还脑抽的忘记交暴力了。第三题没有看出贪心部分分没来得及写(据说WC原题,但是睡觉去了),第一题的话,Apio讲了类似的题(还好没睡觉),就A了。...
  • abc473848880_
  • abc473848880_
  • 2015年05月15日 20:43
  • 298

【BZOJ4004】【JLOI2015】装备购买 线性基

题解: 基本裸题,不写题解了。看这篇博客吧。 【BZOJ3105】【cqoi2013】新Nim游戏 线性基神马的 http://blog.csdn.net/vmurder/article/det...
  • Vmurder
  • Vmurder
  • 2015年04月21日 15:32
  • 1988

NOIP2016提高组复赛 解题报告

Day1T1按照题意模拟就行了,水。 代码:#include #include #include using namespace std; #define N 100005int n,m,d,num...
  • Clove_unique
  • Clove_unique
  • 2016年12月01日 21:52
  • 7666

【索引】PAT乙级题目题解

1001. 害死人不偿命的(3n+1)猜想 (15) 1002. 写出这个数 (20) 1003. 我要通过!(20) 1004. 成绩排名 (20) 1005. 继续(3n+1)猜想 (25)...
  • qq_34594236
  • qq_34594236
  • 2016年09月06日 15:11
  • 2322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JLOI2015试题大意及部分题解
举报原因:
原因补充:

(最多只允许输入30个字)