T1 随 (rand) dp+矩阵优化+原根 看着题解懵了一晚上加一上午,最后还是看了DeepinC的博客才把暴力码出来,正解看得一知半解,循环矩阵也不太明白,先留坑吧.暴力里用二维矩阵快速幂会tle成20,跟打特判没啥区别. #include<iostream> #include<cstdio> #include<cstring> #define ll long long #define MOD 1000000007 using namespace std; ll n…
先来整理题目 T1题目大意:给出n个数字和一个质数作为模数,一个变量x初始值为1.进行m次操作,每次让x随机乘上n个数中的一个,问m次操作以后x的期望值. 答案一定可以用分数表示,输出分子乘分母逆元的值. 数学一直不好,期望这块更是似懂非懂.上来看了一眼数据范围和测试点提示,写了两行骗分走了. 其实这个骗分我没看全也没理解对,阴差阳错碰对了一个点.正解是原根把矩阵乘法转化成加法,循环矩阵快速幂.[当然没有搞懂,之后去翻别人的博客学习] 留个坑. T2题目大意:给出一棵边权为1的树,每个点有一个权…
liu_runda出的题,先$\%\%\%\%\%\%\%\%\%\%\%$为敬 随 考试时没有Qj 然后甚至没做,甚至没交 我不知道我怎么想的 这个题挺难改 你需要用到 循环矩阵快速幂,矩阵快速幂优化,打表找规律的基础 题解 首先我们可以列出来一个普通的dp式子 设f为第i次操作,操作后x变为j的概率得到$f[i][j*a[q]\%mod]=f[i-1][j]$ 思考mod范围很大,那么肯定与mod无关或者矩阵快速幂, 那么我们尝试矩阵快速幂 但用了矩阵快速幂还是超时,$n^3*log$复杂度…
毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就是来教我们打暴力和高级一点的复杂度分析的?? 然而暴力拿走,复杂度分析并没有get到.调和级数是啥?? 度娘: 调和级数(英语:Harmonic series)是一个发散的无穷级数.调和级数是由调和数列各元素相加所得的和.中世纪后期的数学家Oresme证明了所有调和级数都是发散于无穷的.但是调和级数…
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别讨论: k=1:根据人类直觉,不难想到一种贪心策略:从前往后扫,若扫到的数能加入当前这段就加入,否则再开一段新的. 于是你就WA了... 题目要求字典序最小,而我们的策略会让当前段尽可能长,所以划分点会靠后.例如:1 2 3 4 5,可以分为{1},{2,3,4},{5}三段,而我们的策略得到的答案…
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维护 操作一区间查询 操作二转化为单点修改 常数有点大,需要稍微卡常. 正解: 对每种颜色开vector存储出现位置(下标),可以发现每种颜色出现位置满足单调性,操作一直接二分找到这段区间,操作二找到两个位置修改. Code: #include <bits/stdc++.h> using names…
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需要能快速根据编号求出父亲的编号. 斐波那契数列:1.2.3.5.8.13.21... 第10对兔子的父节点:斐波那契数列中小于10的最大项为8,所以第10对兔子的父节点为10-8=2. 很容易理解:第5个月时,共有8对兔子(斐波那契第5项),到了第6个月时,共13对兔子.多出的5对兔子,一定是已经成…
NOIP模拟测试17&18 17-T1 给定一个序列,选取其中一个闭区间,使得其中每个元素可以在重新排列后成为一个等比数列的子序列,问区间最长是? 特判比值为1的情况,预处理比值2~1000的幂,存map里.接下来枚举左端点,算出比值,枚举右端点,用平衡树便携判断某个数是否已经在区间内出现过. #include<bits/stdc++.h> using namespace std; inline long long read() { long long x=0,fh=1; char c…
好,今天是cgg第一次举行模拟测试,希望各位支持. 时间限制:2小时 题目链接: 题目一:水得都没名字了 题目二:车站 题目三:选数 不要觉得2小时太少,我的题目很良心,都很简单. 答案可以在模拟测试答案分类下找到. 开始做吧!…
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高度的过程中,如果高度不是d的整数倍,则必定有一步没有走满d个高度. 如果剩下的步数为偶数,则直接累计答案,可以证明没有更优的情况(虽然我懒并没有证明但我觉得这挺显然的啊……) 如果剩下的步数为奇数,考虑把原来没有走满的那一步走满,然后把多余的那一步补到下降中,也可以证明没有更优的情况.(显然……于是…