JLOI2015试题大意及部分题解

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

T1:求(b+d√2)n的整数部分对p取模后的值

其中bmod2=1,dmod4=1,b2≤d<(b+1)2,n≤1018

思路:

构造数列an=b?an?1+d?b24?an?2

其中a0=2,a1=b

然后我们求出这个数列的通项公式,得到an=(b+d√2)n+(b?d√2)n

由于b2≤d<(b+1)2,因此b?d√2是个小数,当n足够大时对答案的影响可以忽略不计(n较小时直接暴力)

因此得到(b+d√2)n≈an

由于bmod2=1,dmod4=1,因此d?b24一定是个正整数,故我们可以利用矩阵乘法来求出这个数列的第n项

时间复杂度O(log2n)

TMD我居然看错题了= = 我居然没有看到【整数部分】这四个字= =

当我反应过来这道题的意思时只剩20min了。。。20min。。。

我只能把b≤100,n≤5的40分交上去了QwQ

跪95pts的KuribohG……

T2:给定一棵树,每个节点是一座城池,有一个坚固程度hi,和两个参数ai和vi,其中ai∈{0,1}

有m个骑士,每个骑士有一个初始攻击力xi,从某个节点出发,沿该节点向父亲节点一路攻克

当骑士到达某个节点时,若骑士的攻击力小于城池的坚固程度,骑士将会牺牲在这个城池,否则骑士的攻击力将会发生一个变化并继续攻略这个节点的父亲节点。攻击力变化如下:

若该节点的ai=0,那么骑士的攻击力将会增加vi

若该节点的ai=1,那么骑士的攻击力将会乘上vi

数据保证当ai=1时vi>0

注意不同骑士的攻击是相互独立的,你可以认为这m个骑士存在于m条不同的世界线中。

最后输出每个骑士牺牲在了哪座城池(未牺牲输出0),以及每座城池中牺牲了多少骑士

思路:由于攻克一个城池之后骑士之间的攻击力大小关系不变,因此我们可以维护一个可并堆来维护每个城池中的骑士

对于每个节点,首先将所有儿子节点上的可并堆合并过来,然后将<hi的堆顶弹掉,然后搞一搞标记就好了

这题不难啊= = 似乎只有我一个AC的= =?(不知道聂恺辰Rejudge之后的细分= =

18357写了个Splay启发式合并调了3h然后爆零。。。

wyfcyx写了倍增不知道为什么也爆零了。。。

【wyfcyx:等代码发下来之后你们看看我代码就知道怎么回事了】

= =

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

n,m≤500

思路:

裸拟阵……

维护线性基,将武器按价格排序,从小到大塞进去,如果能塞进去就买,塞不进去就不买

精度问题?卡了10pts

其他人最高30分……

这是裸题啊……

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

================Day2===============

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

思路:

把互相有大小关系的点对连上一条有向 容易发现任意一条边都在至少一条长度为m的链上 而取值最多有m+1个,因此任意一条链上最多有一条边两端的点相差2

然后转化一下就变成了这样一坨东西:

如图,只能向右和向上走,求从左下角走到右上角不跨越两条对角线的方案数

……很不幸我只会处理n≤m的情况= = n>m的情况貌似很复杂?

反正搞到了50分= = 暴力60= =

T2:给定一张n≤1000,m≤3000的图,每条边有边权,有p≤10个关键点,每个关键点有一个颜色,现在要求一个边权和最小的生成子图,使同种颜色的关键点互相连通

思路:

令fS表示颜色∈S的所有点构成的最小斯坦纳生成森林(其中S是颜色的集合)

那么我们首先我们先求出每个状态的所有点构成的最小斯坦纳生成树

然后跑DP

fS=max{fS,fT+fS?T|T?S}

复杂度上界似乎是(3p?n+2p?SPFA(n,m))?2p2+3p2?

不过分析一下可以得到更好的上界

如果一种颜色只有一个点 那么这种颜色显然对答案没有贡献

因此极限情况应该是p2种颜色 每种颜色有两个点

那么我们做斯坦纳树的时候 其实复杂度应该是这样的(下面以3p项为例)

3p+C(p2,p2?1)?3p?2+C(p2,p2?2)?3p?4+...+C(p2,0)?30

=10p2

因此最终的复杂度是10p2?n+5p2?SPFA(n,m)+3p2

大概1E的复杂度……尊口怕呀尊口怕

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

(我写的不好只拿到80分

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

二叉树深度≤10

题解戳这里

AC爷就是屌

我没写这题= = 没时间了

Day2就这样130滚粗了= = 然后我居然Rank2(3)?

18357凭借第三题的Accepted怒拿Rank1 跪跪跪跪跪

题目、数据、标程和题解应该会下发= =

大家耐心等待吧= =

时间: 2024-11-02 11:24:02

JLOI2015试题大意及部分题解的相关文章

大众点评笔试题最后两题题解

问题1: 这是一道动态规划的问题,状态转移方程为 dp[i] = dp[i-3] + dp[i-1] , i>= 3(i<3时dp[i]=1,仅仅有1种情况) 我这里直接开了一个dp数组解决问题.在init方法中进行了初始化. 另外,考虑到为了方便測试,我用了一个递归函数dfs(m,n,str)来进行对全部情况的输出.详细见代码:dfs函数的功能就是输出全部的可行方案. 如:当我输入5的时候,输出: 4 全部方案: 11111 211 121 112 同一时候我设定了数n的范围,当n<0

2014网易运营工程师笔试题(邮件运维)--题解--第二天

1.对于多关键字而言,那种文件组织方便而又高效() A.顺序文件 B.倒排文件 C.散列文件 D.B+树索引文件 文件在外存上的基本的组织方式有四种:顺序组织,索引组织,散列组织和链组织:对应的的文件名称分别为:顺序文件.索引文件.散列文件和多关键字文件.选择哪一种文件组织方式,取决于对文件中记录的使用方式和频繁程度.存取要求.外存的性质和容量. 多关键字文件:包含有多个次关键字索引的文件称为多关键字文件. 倒排表的主要优点是:在处理复杂的多关键字查询时,可在倒排表中先完成查询的交.并等逻辑运算

2017 acm icpc 沈阳(网络赛)5/12 题解

比赛中较...能做的5道题 hdoj6195. cable cable cable 题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=6195 题目大意 : 略 规律 : 答案 = k+(m-k)*k hdoj6198. number number number 题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=6198 题目大意  : 给你一个整数n.问你n个斐波那契数(可重复)不能构成哪些数,输出

[codevs1157]2^k进制数

[codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<w≤30000)是事先给定的.问:满足上述条件的不同的r共有多少个?我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个"0"或"1"组成),S对应

BZOJ 1038 ZJOI2008 瞭望塔 半平面交

题目大意及模拟退火题解:见 http://blog.csdn.net/popoqqq/article/details/39340759 这次用半平面交写了一遍--求出半平面交之后.枚举原图和半平面交的每一个点,求出答案就可以 #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define M 310 #define

hdu4322 最大费用最大流

http://acm.hdu.edu.cn/showproblem.php?pid=4322 Problem Description There are N candies and M kids, the teacher will give this N candies to the M kids. The i-th kids for the j-th candy has a preference for like[i][j], if he like the sugar, like[i][j]

bzoj4742 NOI2017整数

不会考试题来补一手题解 题目背景 在人类智慧的山巅,有着一台字长为10485761048576 位(此数字与解题无关)的超级计算机,著名理论计算机科 学家P博士正用它进行各种研究.不幸的是,这天台风切断了电力系统,超级计算机 无法工作,而 P 博士明天就要交实验结果了,只好求助于学过OI的你. . . . . . 题目描述 P 博士将他的计算任务抽象为对一个整数的操作. 具体来说,有一个整数xx ,一开始为00 . 接下来有nn 个操作,每个操作都是以下两种类型中的一种: 1 a b:将xx 加

JLOI2015 DAY1 简要题解

「JLOI2015」有意义的字符串 题意 给你 \(b, d, n\) 求 \[ [(\frac{b + \sqrt d}2)^n] \mod 7528443412579576937 \] \(0 < b^2 \le d < (b + 1)^2 \le 10^{18}, n \le 10^{18}\) 且 \(b \bmod 2 = 1, d \bmod 4 = 1\) 题解 我们把形式如果凑成 \[ f(n) = (\frac{b + \sqrt d}2)^n + (\frac{b - \s

JLOI2015 DAY2 简要题解

「JLOI2015」骗我呢 题意 问有多少个 \(n \times m\) 的矩阵 \(\{x_{i, j}\}\) 满足 对于 \(\forall i \in [1, n], j \in [1, m]\) 有 \(x_{i, j} \in[0, m]\) : 对于 \(\forall i \in [1, n], j \in [1, m)\) 有 \(x_{i, j} < x_{i, j + 1}\) : 对于 \(\forall i \in (1, n], j \in [1, m)\) 有 \