uoj 36 玛里苟斯】的更多相关文章

[清华集训2014]玛里苟斯 - 题目 - Universal Online Judge k=1,2,3,4,5各占20pts是提示 应当分开考虑 k=1 拆位,如果第i位有1,则有1/2的概率xor出来,得到(1<<i)的贡献 证明考虑若干个有1的数,找到偶数个1的概率 k=2 还是拆位 然后考虑二进制:(a1+a2+a3+...+ak)*(a1+a2+a3+..+ak) 根据完全平方展开 存在ai的平方和,还有所有两项的乘积再*2 分开考虑贡献的期望 a^2:1/2 2ab:1/4 a,b…
这怎么想得到啊......... UOJ #36 题意:求随机一个集合的子集的异或和的$k$次方的期望值,保证答案$ \lt 2^{63},1 \leq k \leq 5$ $ Solution:$ 首先考虑$ k=1$的时候怎么做:如果某位上有$ 1$则有$ \frac{1}{2}$的概率可以取到这一位 $ k=1$时每一位都是独立的,可以直接做 然后考虑$ k=2$时怎么做 如果一个集合中有元素$ a,b$,则产生的贡献为$ a^2+2ab+b^2$ 我们把$ a^2$和$2ab$分开讨论…
UOJ 题面传送门 看到 \(k\) 次方的期望可以很自然地想到利用低次方和维护高次方和的套路进行处理,不过.由于这里的 \(k\) 达到 \(5\),直接这么处理一来繁琐,二来会爆 long long,因此考虑另辟蹊径.注意到答案 \(\le 2^{63}-1\),也就是说当 \(k\) 比较大时值域也不会太大.因此考虑对 \(k\) 分类讨论. \(k=1\) 时考虑计算每一位的贡献,注意到对于一位 \(i\),如果存在某个 \(a_j\) 满足 \(a_j\) 的 \(2^i\) 位为 \…
题目大意:给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中的数(可以重复选),每种选法选的位的乘积的期望的和,暴力枚举每种选法,复…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ36.html 题解 按照 $k$ 分类讨论: k=1 : 我们考虑每一位的贡献.若有至少一个数第 $i$ 位为 $1$ ,则对答案的贡献为 $2^i/2$ . k=2 : 发现每个异或和的平方为 $\sum_i\sum_j2^{i+j}bit_ibit_j$.那么考虑第 $i$ 位和第 $j$ 位的积的期望值.如果所有的数中,第 $i$ 位和第 $j$ 位均相等且非全零,那么参考 k=1 的情况,期望为…
传送门 为啥在我看来完全不知道为什么的在大佬们看来全都是显然-- 考虑\(k=1\)的情况,如果序列中有某一个\(a_j\)的第\(i\)位为\(1\),那么\(x\)的第\(i\)位为\(1\)的概率就是\(\frac{1}{2}\) 证:把\(a_j\)拿出来,那么剩下的里面选出的子集不管是什么情况,\(a_j\)放进去或不放肯定有一种能使\(x\)的第\(i\)位为\(1\),且另一种使\(x\)的第\(i\)位为\(0\),那么概率就是\(\frac{1}{2}\) 然后是\(k=2\)…
#5. [NOI2014]动物园 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/5 Description 近日,园长发现动物园中好吃懒做的动物越来越多了.例如企鹅,只会卖萌向游客要吃的.为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的园长决定开设算法班,让动物们学习算法. 某天,园长给动物们讲解KMP算法. 园长:“对于一个字符串S它的长度为L.我们可以在O(L)的时间内求出一个名为next…
[UOJ#75][UR #6]智商锁(矩阵树定理,随机) 题面 UOJ 题解 这种题我哪里做得来啊[惊恐],,, 题解做法:随机\(1000\)个点数为\(12\)的无向图,矩阵树定理算出它的生成树个数,然后找到四张图不拼接直接放在一起,也就是找到四个图,假设其生成树个数是\(f(G)\),那么就找到\(f(G_1)f(G_2)f(G_3)f(G_4)\equiv k\),然后预处理两两的乘积,丢到哈希表/\(\text{map}\)里,枚举另外一半直接查... 无向图的生成方式是每条边出现的概…
CSharpGL(36)通用的非托管数组排序方法 如果OpenGL要渲染半透明物体,一个方法是根据顶点到窗口的距离排序,按照从远到近的顺序依次渲染.所以本篇介绍对 UnmanagedArray<T> 进行排序的几种方法. +BIT祝威+悄悄在此留下版了个权的信息说: UnmanagedArray<T> 首先重新介绍一下非托管数组这个东西.一个 UnmanagedArray<float> 与一个 float[] 是一样的用处,只不过 UnmanagedArray<f…
前面几篇介绍了微信支付方面的内容,本篇继续微信接口的一些其他方面的内容:卡劵管理.卡劵管理是微信接口里面非常复杂的一个部分,里面的接口非常多,我花了不少时间对它进行了封装处理,重构优化等等工作,卡劵在营销方面是一个比较好的途径,可以应用在会员管理.店铺促销等方面的活动,不过万层高楼从底起,我们需要把卡劵管理的相关接口夯实完善,才能在它的基础上进行更进一步的应用操作. 1.微信卡券接口说明 微信卡券功能是腾讯为商户提供的一套完整的电子卡券解决方案,商户可在法律允许的范围内通过该功能实现电子卡券生成…
前期准备: x64 ubuntu 镜像.vmware.ss账号 注意一定要有64位镜像! ss不是必须的,不过没有的话就等着下载一晚上吧... 首先先装好ubuntu,我装的是ubuntu-16.04-desktop-amd64.iso. 然后先换个软件源 装docker 然后主机打开ss,注意勾选允许局域网连接. 然后看一下主机ip 把uoj的包下下来(https://github.com/vfleaking/uoj) 设置docker的代理:https://docs.docker.com/e…
http://uoj.ac/problem/35 以前做后缀数组的题直接粘模板...现在重新写一下模板 注意用来基数排序的数组一定要开到N. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 100003; int t1[N], t2[N], c[N]; void st(int *x, int *y, int *sa, int n, int…
前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJS中的代码风格分为几节来阐述.希望对打算学习AngularJS的新手或者已经在路上的老手有那么一丢丢的帮助也是可以的. 普遍规则 tips 01(定义一个组件脚本文件时,建议此文件的代码少于400行) (1)有利于单元测试和模拟测试. (2)增加可读性.可维护性.避免和团队在源代码控制上的冲突. (…
[源码下载] 背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu 作者:webabcd 介绍背水一战 Windows 10 之 控件(弹出类) ToolTip Popup PopupMenu 示例1.ToolTip 的示例Controls/FlyoutControl/ToolTipDemo.xaml <Page x:Class="Windows10.Controls.FlyoutControl.ToolTipDemo"…
http://uoj.ac/contest/35/problem/246 神奇!我这辈子是想不出这样的算法了. 对区间长度分类讨论:题解很好的~ 我已经弱到爆了,看完题解后还想了一晚上. 题解中"利用\(r_y\)进行计算更新答案"的具体方法是记录以当前点为右端点,任意两个数的差值的最小值大于等于j的区间的左端点,记为\(pos_j\). 就这个问题我想了一晚上啊TWT,我不滚粗谁滚粗QAQ #include<cmath> #include<cstdio> #i…
http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; const int N = 100003; ll in() { ll k = 0, fh = 1; char c= getcha…
http://www.lydsy.com/JudgeOnline/problem.php?id=3051 http://uoj.ac/problem/57 这道题需要平面图转对偶图,点定位,最小生成树上的倍增(NOIP2013火车运输)3个步骤. 最后一个很简单了,前两个比较麻烦.. 点定位可以用玄学的梯形剖分(并不会orz),但这里可以离线用扫描线,类似圆的异或并那道题. 平面图转对偶图要把一条边拆成两条有向边,把每条有向边找出和它夹角最小的,这个过程要........ 算了不说了,网上的题解…
http://uoj.ac/problem/13 建立trie树,然后建立go指针, 和AC自动机里的fail指针差不多, 走到一个快捷方式就从go指针走. 注意在trie树上要保留字符'/',不能用end标记来标识一个字符串的结束. 因为可能出现"/Iam/zz"和"/Iamzz"这两种情况,如果只用end标记,tire树上这两个字符串就会共用一条路径. (总之是蒟蒻才会犯的错误,神犇们勿喷_(:з」∠)_) #include<cstdio> #inc…
http://uoj.ac/problem/14 题解很好的~ 不带路径压缩的并查集能保留树的原本形态. 按秩合并并查集可以不用路径压缩,但是因为此题要删除,如果把深度当为秩的话不好更新秩的值,所以把子树大小当为秩. 合并直接合并,删除直接删除,每条边只会被添加进树一次,至多被删除一次. 离线特殊考虑一下return的情况就可以了QwQ #include<cstdio> #include<cstring> #include<algorithm> using namesp…
#228. 基础数据结构练习题 题目链接:http://uoj.ac/problem/228 Solution 这题由于有区间+操作,所以和花神还是不一样的. 花神那道题,我们可以考虑每个数最多开根几次就会成1,而这个必须利用开根的性质 我们维护区间最大.最小.和.区间加操作可以直接做. 区间开方操作需要特殊考虑. 首先对于一个区间,如果这个区间的所有数取$x=\left \lfloor \sqrt{x} \right \rfloor$值一样,那么就可以直接区间覆盖. 分析上述过程,一个区间可以…
#67. 新年的毒瘤 UOJ直接黏贴会炸...    还是戳这里吧: http://uoj.ac/problem/67#tab-statement Solution 看到这题的标签就进来看了一眼. 想了一个比较胡搞的方法,因为删除割点就会产生多个块,那么割点是不能被割的,所以只能割非割点. 删除非割点后是棵树,说明边数是N-2...然后求一下每个点的度... 只要不是割点,并且割掉这个点剩的边是N-2条,就输出..... 然后就A了...感觉还是很科学的. (这个Tarjan模板太好打了...顺…
E. Tourists time limit per test: 2 seconds memory limit per test: 256 megabytes input: standard input output :standard output There are n cities in Cyberland, numbered from 1 to n, connected by m bidirectional roads. The j-th road connects city aj an…
传送门 练习一下Tarjan的模板. 求一下割点,然后加个约束条件判一下特殊点,剩下的就是所求点. //UOJ 67 //by Cydiater //2016.10.27 #include <iostream> #include <iomanip> #include <cmath> #include <ctime> #include <cstring> #include <string> #include <algorithm&…
1.不要使用相对路径 常常会看到: require_once('../../lib/some_class.php'); 该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前目录. 因此会检查过多路径. 如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录. 另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了. 因此最佳选择是使用绝对路径: define('ROOT' , '/var/www/project/'); require_once(ROO…
新发现,在我开发过的组件中表格组件是采用Table生成的,而在Webkit内核浏览器中,Table的列顺序是倒着生成的,所以在组件中要做兼容. 现在Chrome浏览器版本已经升级到36了.发现Table的列顺序是正这生成,所以还要加入代码去判别webkit内核浏览器并且版本是36以下的 做兼容. 到此为止:以前,用Table元素使用insertCell生成的表格列的前端表格组件要有问题喽. 转载请注明出处:http://www.cnblogs.com/wsoft…
竟然在BZOJ上拿了Rank1太给力啦. p.s.:汗,一发这个就被一堆人在2月27号强势打脸-- 传送门(BZOJ) 传送门(UOJ) 说说这道题目吧: 首先是说说这个构图吧.因为有选择关系,我们很容易想到最小割. Ans = sigma(i为白色){w[i]} + sigma(i为黑色){b[i]} - sigma(奇怪的i){p[i]} 转化一下就变成了sigma(所有的i){w[i]+b[i]} - sigma(i为白色){b[i]} -sigma(i为黑色){w[i]} - sigma…
CURL邮件列表中提到官方最新版本的windows devel包中缺少文件,而我又用不到https,所以我就自己下载源码包来编译了 下载源码包:http://curl.haxx.se/download/curl-7.36.0.tar.gz 解压包: tar -zxvf curl-7.36.0.tar.gz 运行vc命令工具: %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.b…
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c.diff是svn.cvs.git等版本控制工具不可或缺的一部分. 1.命令格式: diff[参数][文件1或目录1][文件2或目录2] 2.命令功能: diff命令能比较…
在测试远程推送时用PushMeBaby来模拟服务器发推送消息 但是点击push按钮后手机没有收到推送消息,多点击几下后程序就崩了,强行运行后日志输出了 SSLwrite():-36 94这句话 出现这个错误的原因网上说是证书错误,但是我更新证书之后还是出现了这个错误 真正的原因其实是deviceToken出错了 在输入deviceToken时要注意两点 1.不要把中间的空格删了 2.每次重装App后deviceToken都会改变…
IrfanView 4.36 简体中文便携版 小而快的图片浏览器 仅仅不到2M的小软件,功能却能与体积大到几十M的ACDSee相媲美!这个软件就是IrfanView.图片.音频.视频浏览,图片批量格式转换.批量重命名,JPE图片无损旋转等只是IrfanView最基本的功能.IrfanView是世界第一个支持多页Gif动画的Windows图像查看器,另外强大的插件外挂功能.自定义皮肤功能以及多种热键支持让你可以定制一个完全属于自己的IrfanView!功能过多,不再一一介绍,喜欢小巧而又免费的强大…