当前搜索:

[2017集训队作业自选题#119]众数MAX

题目大意两个长度为n的序列a和b,将它们分别任意排列,然后令c[i]=a[i]+b[i]c[i]=a[i]+b[i],使c[i]的众数出现次数尽量多。 值域与n同阶。做法不妨令A[i]表示a中i的出现次数,B同理。 令ans[i]表示i作为众数的最多出现次数。 显然的暴力 ans[i]=∑...
阅读(219) 评论(0)

[CF891E]Lust

题目大意一个序列a,做k次下列操作: 1、随机一个下标x,答案加上Πni=1,i!=xai\Pi_{i=1,i!=x}^na_i 2、将axa_x减一。 求答案的期望。做法设bib_i表示最终aia_i减少了多少次。 答案是Πni=1ai−Πni=1(ai−bi)\Pi_{i=1}^na_...
阅读(458) 评论(0)

[UOJ#214]合唱队形

题目大意 有n个人每个人有一个字符集初始为空。 有tot个事件,每个事件形如在第ai个人的字符集里放了bi这个小写字母。 每个时刻等概率发生一个事件。 有一个长度为m的字符串s。某个时刻如果存在编号连续的m个人,按从小到大的顺序发现对于第i个人字符集里都有si,那么则胜利。 问胜利的期望...
阅读(356) 评论(0)

[arc075f]Mirrored

题目大意rev(n)为n翻转后的十进制数(从第一个非0位往后翻转)。 有多少n满足rev(n)=n+d。做法如果d末尾有0,显然那几位可以任意填(只要不造成前导0),先剔除掉。 然后就可以暴力枚举一半的数字并判断。#include<cstdio> #include<algor...
阅读(196) 评论(0)

[agc011e]Increasing Numbers

前言1min了我还不会一点思路都没有这正常? orz题解。题意把大整数n拆成若干个上升数之和,最小化上升数的个数。 上升数即从最高位往最低位是一个不下降的序列。做法发现任意上升数能表示成全1数的和。 如果你允许0的存在,那么每个上升数都能被拆成9个全1数的和。 全1数的位数假如是k,可以表...
阅读(284) 评论(0)

[agc015f]Kenus the Ancient Greek

前言结论题我只能orz。 题解错了很不舒服。题意找到(n,m)以内点对欧几里得步数最大的点对个数。做法设f(a,b)表示欧几里得步数。 我们先设斐波那契数F0=1,F1=1,Fi+2=Fi+1+FiF_0=1,F_1=1,F_{i+2}=F_{i+1}+F_i 容易发现f(Fk,Fk+1)=...
阅读(269) 评论(0)

通信

题目大意在树上随机选一个序号区间的点,求构成的虚树大小期望(类似这个意思,其实是2*虚树大小-2)做法可以想到枚举区间右端点,每个节点记录cnt表示存在多少k使得[k,i]构成虚树包含自己(i是当前右端),然后每次统计答案与修改cnt复杂度与树高有关。 这个暴力可以树剖优化,但数据随机所以暴力跑...
阅读(223) 评论(0)

Create

题目大意一个序列,有很多询问,每个询问要问区间>=x的数的个数。 现有若干修改操作,区间赋值,每次修改后请你将所有询问得到的答案和输出。颜色段均摊分析颜色段! 可以用set维护颜色段。 然后只需要考虑一个区间全部由x变成y产生代价。 先把询问按x排序做可持久化线段树,然后就很好做。#...
阅读(204) 评论(0)

神奇的玩具

题意一副无向图,第i条边连接ai和bi。现在你需要选择恰好k个点,对于第i条边,你必须让ai和bi至少一个被选择,如果ai被选择,付出pi的代价,否则付出qi的代价(pi<=qi),求最小代价。搜索可以发现pi是必然代价,qi-pi就是附加代价。 于是产不产生代价只与ai是否没有被选,这方...
阅读(204) 评论(0)

[bzoj4849]Mole Tunnels

题目描述鼹鼠们在底下开凿了n个洞,由n-1条隧道连接,对于任意的i>1,第i个洞都会和第i/2(取下整)个洞间有一条隧 道,第i个洞内还有ci个食物能供最多ci只鼹鼠吃。一共有m只鼹鼠,第i只鼹鼠住在第pi个洞内,一天早晨,前k只 鼹鼠醒来了,而后n-k只鼹鼠均在睡觉,前k只鼹鼠就开始觅...
阅读(306) 评论(0)

三明治

题目描述做法对于每个格子(i,j)设L(i,j)表示先吃靠左边界的格子至少要吃多少格子,R意义类似。 然后你发现L(i,j)>=L(i,j-1)。 于是一行一行做,每行才清空一次标记数组。#include <cstdio> #include <algorithm>...
阅读(121) 评论(0)

[LibreOJ β Round]ZQC的树列

题目描述见LOJ。做法显然对于每一段数字,要么可选要么必选。 假如有t个,若必选,则方案为2^t-1,否则为2^t。 因此只有1、2、3就可以构造所有情况。 尝试把n拆分成2^t-1以及2^t的乘积。 这个用dfs即可。#include<cstdio> #include<...
阅读(396) 评论(0)

[CF538D]Weird Chess

题目大意懒得写做法暴力判断哪些走法要封死。 剩余走法都可以当做有效,判断每个应该攻击的位置是否被攻击了。#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) using na...
阅读(148) 评论(0)

[CF538C]Tourist's Notes

题目大意懒得写做法每一段内求个最高,列不等式。#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int maxn=10...
阅读(156) 评论(0)

[CF538B]Quasi Binary

题目大意懒得写做法这样的数只有2^6个。 因此暴力DP#include<cstdio> #include<algorithm> #include<cstring> #define fo(i,a,b) for(i=a;i<=b;i++) #define f...
阅读(165) 评论(0)

[CF538A]Cutting Banner

题目大意懒得写做法枚举分割位置暴力判#include<cstdio> #include<algorithm> #include<cstring> #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(i,a,b) f...
阅读(198) 评论(0)

说无可说

题目描述“What’s left to say when every word’s been spoken?” “若沉默再无休止,是否已经说无可说?” ——来自网易云音乐 沉默之中,我已不懂言语。 幻觉中,有人在轻声低吟。 那是谁? 我听见,那个人说了N句话,然而好多话都是重复或者类似...
阅读(337) 评论(0)

[bzoj4927][SDOI省队集训2017]diyiti

题目大意在一个长度为n的数列中找出六个数,使得可以把它们分成四组,每组的和均相等。求方案数。XJB做只有1+1+1+3或1+1+2+2两种拆分。 先预处理two[x]表示找出两个数和为x的方案数,以及one[x]表示有多少数是x。 对于1+1+1+3,枚举那个1是x,首先有一个C3one[x]...
阅读(453) 评论(0)

[bzoj4835]遗忘之树

题目描述定义任意两点之间存在唯一路径的无向图是树。对于一棵n个点的树,如果删掉某个点u之后每个连通块的大小均不 超过n/2,那么称u为这棵树的重心。现在有一棵n个点的树T,利用过程P来构造一个n个点的有向图G,初始G没有边 。现在对T调用过程P,P的内容如下: 1:删去u,对每个连通块递归调...
阅读(217) 评论(0)

最小边权和

题目描述有一张n个点m条边的有向图,每条边有一个互不相同的边权w,有q个询问,要求你从点a经过不超过c条边到点b,要求经过的边权递增并和尽量小,求出最小的边权和,如果没有合法方案则输出-1。水题按边权从小到大加入做floyd即可。#include<cstdio> #include<...
阅读(475) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 39万+
    积分: 1万+
    排名: 1455
    最新评论
    文章分类