
NOI
文章平均质量分 81
Zhayan9QvQ
嘿嘿嘿
展开
-
【Bzoj2875】随机数生成器
题目描述栋栋最近迷上了随机算法,而随机数是生成随机算法的基础。栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机数{Xn}:X[n+1]=(aX[n]+c) mod m其中mod m表示前面的数除以m的余数。从这个式子可以看出,这个序列的下一个数总是由上一个数生成的。用原创 2017-02-24 21:04:56 · 453 阅读 · 0 评论 -
【Bzoj4196】软件包管理器
题目描述Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。ebian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀的软件包管理器。原创 2017-03-16 14:30:09 · 481 阅读 · 0 评论 -
【Bzoj3668】起床困难综合症
题意给你n个操作包括按位与,按位或,按位异或。还有一个参数m,请你找0~m中的经过n个操作后最大的数,输出这个最大值。分析首先二进制运算的每一位是相对独立的,可以考虑它的每一位。首先,如果某位经过n次操作能变成1,这一位就要选(如果能选0就选0,使数字尽量小)。如果无论1,0都无法变成1,也选0。(在这一位上填1产生的贡献比在它后面全填上1还要大。能填则填。)#include <cstdio>#i原创 2017-05-01 14:52:23 · 514 阅读 · 0 评论 -
【Bzoj4653】区间
题意在数轴上有 n个闭区间 [l1,r1],[l2,r2],…,[ln,rn]。现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置。对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。区间 [li,ri] 的长度定义为 ri−li,即等于它的右端点的值减去左端点的值。求所有合法方案中最小的花费。如果不存在合法的方案,输出 −1。解析我们用一棵线段树来保存点的原创 2017-05-01 15:36:33 · 617 阅读 · 0 评论 -
【Bzoj4195】程序自动分析
题意给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,让你判断是否矛盾。解析用并查集把相等的并起来,之后判断有没有冲突的。注意要先把所有的都并起来,因为可能有连等。#include <cstdio>#include <algorithm>#include <cstring>#define Rep( i , _begin , _end ) for(int i=(_begin);i<=(原创 2017-04-03 22:31:46 · 861 阅读 · 0 评论