【题解】P5151 HKE与他的小朋友】的更多相关文章

[题解]P5151 HKE与他的小朋友 实际上,位置的关系可以看做一组递推式,\(f(a_i)=f(a_j),f(a_j)=f(a_t),etc...\)那么我们可以压进一个矩阵里面. 考虑到这个矩阵是\(O(n^2logn)\)的,我们观察我们单位矩阵的性质,发现每行的轮换的. 那么我们愉快地只记录第一层的信息然后矩阵快速幂了. 但是我现在可以用更贴切的办法描述这道题了! 小朋友们的换位置关系构成了一个群! 由于群的运算满足结合律,那么我们就可以快速幂了- #include<iostream>…
嘟嘟嘟 看到\(i\)变成了\(A_i\),我突然想起了置换这个东西.于是马上到网上学了一遍轮换乘法. 手模后发现轮换乘法满足结合律,但不满足交换律. 于是就可以快速幂啦. 需要注意的是每一次相乘是\(O(n)\)的,因此总复杂度为\(O(n \log n)\). 代码一看就懂 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring…
正解:矩阵快速幂/tarjan+倍增 解题报告: 传送门! 跟着神仙做神仙题系列III 这题首先一看到就会想到快速幂趴?就会jio得,哦也不是很难哦 然而,看下数据范围,,,1×105,,,显然开不下TT 所以考虑优化快速幂(或找环+倍增 两种方法都港下趴 先说图论好辣QwQ 大概是这样的: 首先我们把每个座位都抽象成一个点,由它给我的A[]可以知道坐在每个座位上的人会移到哪儿 我们就可以理解为连了一条边 显然的是我们可以换了很多次之后换回来,于是就成了一个环了 然后我们就求一波强连通分量,这样…
题面: 题目背景: HKE带着\(n\)个小朋友做游戏 题目描述: 现在有n个座位编号为\(1\)至\(n\),这些小朋友也编号\(1\)至\(n\).一开始所有小朋友都坐在相应的座位上.HKE的游戏可用一个n的排列\(A(A_1,A_2\cdots A_n\))表示.一轮游戏时,对于所有的 \(1\leq i\leq n\),坐在位置 \(i\) 上的小朋友坐到位置 \(A_i\) 上. 现在游戏进行了\(k\)轮,HKE想知道游戏结束后,位置\(1,2\cdots n\)分别坐了几号小朋友?…
洛谷NOIp热身赛题解 A 最大差值 简单树状数组,维护区间和.区间平方和,方差按照给的公式算就行了 #include<bits/stdc++.h> #define il inline #define vd void #define mod 1000000007 typedef long long ll; namespace IO{ const int maxn=(1<<21)+1; char ibuf[maxn],*iS,*iT,c;int f; inline char getc…
为什么前面的人都跑得那么快啊? QAQ T1:区间方差 题目大意:询问区间方差,支持单点修改 首先把方差的式子展开,得到 $$d = \frac{a_1 + ... a_n}{n} - \frac{a_1^2 + .. + a_n^2 }{n^2}$$ 那么,只需维护$\sum a_i$和$\sum a_i^2$即可 (没有区间加真是良心) 复杂度$O(n \log n)$ #include <cstdio> #include <cstring> #include <iost…
入门题 : [Luogu1441]砝码称重 , [NOIP2015]子串 [AHOI2009]中国象棋 , 详见代码 [HNOI2007]梦幻岛宝珠 , 详见代码 [NOIP2012]开车旅行 , 没有代码... 预处理出\(ga[i] , gb[i]\)代表从城市\(i\)出发\(A\)或\(B\)走一步会到达的城市 设\(f[i][j][k]\)表示从城市\(j\)出发 , 两人共驾驶\(2^i\)天 , \(k\)先开车 , 最终会到达的城市 设\(da[i][j][k]\)表示从城市\(…
思路题/神奇的转化…… orz hzwer 或许这个思路可以从单行而非环形的递推中找到?(单行的时候,从左往右直接递推即可…… 感觉好神奇>_<脑残患者想不出…… P.S.话说在$n\leq 10^6$的时候读入优化效果好明显…… 题解: 首先,最终每个小朋友的糖果数量可以计算出来,等于糖果总数除以n,用ave表示. 假设标号为i的小朋友开始有Ai颗糖果,Xi表示第i个小朋友给了第i-1个小朋友Xi颗糖果,如果Xi<0,说明第i-1个小朋友给了 第i个小朋友Xi颗糖果,X1表示第一个小朋…
题目传送 简单地说,这题就是让我们求前i个数的最大子串和和最值. 对于最大子串和,我们可以设一个变量qian,表示以当前元素结尾的最大子串的子串和.若搜索完第i-1个小朋友,现在看到第i个小朋友时,若qian大于0,就说明以第i-1个小朋友为结尾的最大子串和的值大于0,那么让这小朋友连上这个字串的话得到的子串和一定比让这个小朋友独自一人组成一个子串得到的和要大,而且在这时第i个小朋友连上这个字串后得到的这个子串也是以第i个小朋友为结尾的和最大的子串:若qian小于0,那第i个小朋友就不如自己单独…
BZOJ 2330 糖果题解 差分约束系统 + SPFA 题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要求.幼儿园的糖果总是有限的,lxhgww想知道他至少需要准备多…