cojs 自己出的题目 解题报告】的更多相关文章

省选成功成为河北B队队长QAQ 真是忧桑 所以在cojs上出了一套鬼畜的关于树的套题 黑白树: 我们先不考虑R操作 设x是u的祖先,那么fa(x)的贡献显然是 fa(x)*(sz(fa(x))-sz(x)) 之后我们对于这个求和就是答案辣 然而这一脸不可做,我们化简一下,考虑每个sz(x)的贡献 sz(x)的贡献化简后可以发现 为 (x-fa(x))*sz(x) 然后我们就很容易用树链剖分完成更改和查询操作啦 之后我们考虑R操作 因为树上距离公式为 dis(u)+dis(v)-2*dis(lca…
新学了些弦图和区间图的新玩意,于是就想着出一道题目 其实这道题不用弦图和区间图的理论也是可以做的 首先考虑第一问,第一问是一个NOIP普及组水平的贪心 我们把区间按照右端点从小到大排序,之后从头到尾扫一遍,能取就取即可 有关于贪心的正确性的证明是很简单的: 首先我们考虑后面的区间和当前的区间的关系 1.后面的区间包含当前的区间,显然取当前区间比后面的区间要优 2.后面的区间k和当前的区间相交,设k后面的区间为j 则一定有若j和当前的区间有重叠部分,则j一定和k有重叠部分 反之则不一定,由于两个区…
QAQ 好久不在cojs上出题了 最近学了点新科技,于是就做成题来分享了 这道题是要求simga(i^k) 那么就先说说部分分的算法吧: 10分: 直接暴力就可以了,时间复杂度O(nlogk) 30分: 我们考虑设S(n)表示1^k+2^k+……+n^k的和 不难发现S(n+1)=S(n)+(n+1)^k 由二项式定理得(n+1)^k=sigma( C(k,i)*n^i  ) 构造向量(n^0,n^1,n^2……,n^k,S(n)) 不难根据刚才的式子构造出转移矩阵,之后矩阵乘法+快速幂就可以了…
一个上午写了两个数据生成器,三个暴力和两个正解以及一个未竣工的伪正解思路 真是累死本宝宝了 首先这个题目暴力我的数据是有很多良心分的 但是不同的暴力拿到的分数也会有所差距,由于是题解就不说暴力怎么写了 首先第一种解法: 我们对f序列分块,预处理a序列中每个点在每个块内会被计算多少次 预处理的时候对于每个块把所有区间差分一下,然后O(N)扫一遍统计即可 考虑我们的查询,一定是若干单点和若干块 所以修改我们可以对f序列中所有的块暴力计算贡献 由于已经预处理过,所以这是很好解决的,这样我们就可以解决块…
第一题很简单嘛,就是裸的动态树分治嘛 对于每一层的重心维护子树路径的信息和子树到上一层重心的点的信息 空间复杂度O(nlogn) 对于每一层我们按dis排序,之后记录军队数量的前缀和 查询的时候我们只需要在这一层二分既可以啦 感觉还是非常的easy呢 时间复杂度O(nlog^2n+mlog^2n) PS:原本题目并不是这个样子 原本是想出成有k个人在攻打城池u,问u需要坚持多少时间才能使得到来的军队人数总数>=k 这样我们就可以在外层二分一个时间,问题就转化成了这道题了(多了个log) 原本是想…
一.Print in Order Suppose we have a class: public class Foo { public void first() { print("first"); } public void second() { print("second"); } public void third() { print("third"); } } The same instance of Foo will be passed…
[九度OJ]题目1026:又一版 A+B 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1026 题目描述: 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数. 输入: 输入格式:测试输入包含若干测试用例.每个测试用例占一行,给出m和A,B的值. 当m为0时输入结束. 输出: 输出格式:每个测试用例的输出占一行,输出A+B的m进制数. 样例输入: 8…
[九度OJ]题目1124:Digital Roots 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1124 题目描述: The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the d…
[九度OJ]题目1064:反序数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1064 题目描述: 设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321) 求N的值 输入: 程序无任何输入数据 输出: 输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开 样例输入: 样例输出: Ways 本来很简单的题目,应该一遍A的,可是还是遇到了问题,然后借助debug才解决掉,这样不好. 想法是把…
[九度OJ]题目1183:守形数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1183 题目描述: 守形数是这样一种整数,它的平方的低位部分等于它本身. 比如25的平方是625,低位部分是25,因此25是一个守形数. 编一个程序,判断N是否为守形数. 输入: 输入包括1个整数N,2<=N<100. 输出: 可能有多组测试数据,对于每组数据, 输出"Yes!"表示N是守形数. 输出"No!…