清华集训2014 day1 task1 玛里苟斯】的更多相关文章

题目 这可算是描述很简单的一道题了!但是不简单. \(S\)是一个可重集合,\(S = \{a_1, a_2, \dots, a_n \}\). 等概率随机取\(S\)的一个子集\(A = \{a_{i_1}, \dots, a_{i_m}\}\). 计算出\(A\)中所有元素异或\(x\), 求\(x^k\)的期望. 要点 要点 1 所有异或出来的不同结果的数量是同样多的(这句话可能有点不清楚). 我的意思是说,假如异或出来的结果有\(5\).\(3\).\(4\),那么结果是\(5\)的异或…
题目 如题. 算法 就是刚学习的插头DP. 从前往后和从后往前分别进行一次DP. 要点 合法的括号序列只有103个 如何合并两次dp的信息 一开始犯傻了,以为当且仅当两个轮廓线的状态相同才是合法的方案.其实很容易举出反例. 如果直接枚举的话,每次询问的时间复杂度是\(O(103^2 m)\). 为了加快速度,可以把所有合法的方案先列举出来(就是预处理),只有\(103^2\)个.每次询问的复杂度优化为\(O(103^2)\). 时间复杂度 \(O(103 \cdot n \cdot m + 10…
题目 这可算是一道非常好的关于容斥原理的题了. 算法 好吧,这题我毫无思路,直接给正解. 首先,问题的正面不容易求,那么就求反面吧: 有多少种添加边的方案,使得这个图是DAG图(这里及以下所说的DAG图都是指这个图不是整个强连通的). 利用容斥原理,DAG图的特征是有至少一个入度为\(0\)的点并且这个图不止一个点(这里及以下所说的点都是指求强连通后的点),就根据这个进行容斥. 设\(g(set)\)为集合里的点都是入度为\(0\)的方案数,注意,这个有点特别,比如这个: 它的值应该为\(0\)…
题目 题目看起来好像很难的样子!其实不然,这是最简单的一道题. 算法 首先要注意的是: \(number \cdot x + product \cdot y = 1\) ,那么我们称\(number\)与\(product\)不相冲. 等价于 当\(number\)和\(product\)互质时,那么我们称\(number\)与\(product\)不相冲. 所以求与\(product\)不冲突的\(number\)个数,即是求\(\varphi (product)\)(即\(product\)…
[清华集训2014]矩阵变换 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/41 Description 给出一个 N 行 M 列的矩阵A, 保证满足以下性质: M>N.    矩阵中每个数都是 [0,N] 中的自然数.    每行中, [1,N] 中每个自然数都恰好出现一次.这意味着每行中 0 恰好出现 M−N 次.    每列中,[1,N] 中每个自然数至多出现一次. 现在我们要在每行中选取一个非零数,…
#38. [清华集训2014]奇数国 思路: 题目中的number与product不想冲: 即为number与product互素: 所以,求phi(product)即可: 除一个数等同于在模的意义下乘以一个数的逆元: 代码: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define maxn 100005…
传送门 分析 清华集训真的不是人做的啊嘤嘤嘤 我们可以考虑按操作时间把每个操作存进线段树里 如果现在点x正好使一个整块区间的右端点则更新代表这个区间的点 我们不难发现一个区间会因为不同的操作被分成若干块,每块对应序列上不同的区间 于是查询时对于每个线段树上区间查询时二分查找当前点在哪一块中即可 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include&…
清华集训2014sum 求\[∑_{i=1}^{n}(-1)^{⌊i√r⌋}\] 多组询问,\(n\leq 10^9,t\leq 10^4, r\leq 10^4\). 吼题解啊 具体已经讲得很详细了(找了好久才找到的良心题解.) 首先看到向下取整的式子要会拆开. 然后套类欧几里德. 这里的类欧几里德比较简单,因为可以看作是\(y=kx\)的正比例的向下整点. 如果\(k>1\),那么就相当与直接算上面的点,然后把直线砍到\(k\leq 1\). 否则取反函数,相当于减小了\(n\)而增大了\(…
3811: 玛里苟斯 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 500  Solved: 196[Submit][Status][Discuss] Description 魔法之龙玛里苟斯最近在为加基森拍卖师的削弱而感到伤心,于是他想了一道数学题. S 是一个可重集合,S={a1,a2,…,an}. 等概率随机取 S 的一个子集 A={ai1,…,aim}. 计算出 A 中所有元素异或 x, 求 xk 的期望.   Input 第一行两个正整…
题目大意:给n个数字,求子集的异或和的k次方的期望(n<=10^5,k<=5,保证答案小于2^63) 做法:首先如果从集合中拿出a和b,把a和a xor b放回集合,子集的异或和与原来是一一对应的,用高斯消元的思想可以消到只剩log个数,其他都是0,对答案没有影响.然后考虑k次方的期望,我们把二进制下每一位拆开,假设第i位的数字为xi,答案为(x1+x2+...+xlog)^k的期望,展开式子后发现是选k次x1~xlog中的数(可以重复选),每种选法选的位的乘积的期望的和,暴力枚举每种选法,复…