自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(197)
  • 收藏
  • 关注

原创 Bestcoder题解汇总

bestcoder题解第1场:A:B:C:D:第2场:A:B:C:D:第3场:A:B:C:D:第4场:A:http://blog.csdn.net/weilehuozhe/article/details/47373909B:http://blog.csdn.net/weilehuozhe/article/d

2015-09-28 21:39:14 1029 1

原创 Educational Codeforces Round 137E 1743E FTL

有两艘飞船,分别有攻击力p和攻击充能时间t,初始未充能。敌船的血量为h防御s, 一个船独自打 伤害p1-s,俩船一起 伤害p1+p2-s求击败敌船最小时间因为血量5000范围小 按此dpdp 维护总计造成i伤害时最后一次是两个炮共同攻击需要最小时间枚举下一次共同开炮中间的独立开炮数。更新一遍后面的点复杂度n*n

2022-11-01 18:37:42 130

原创 Educational Codeforces Round 137D 1743D. Problem with Random Tests

题意长度为 n(e6) 的 01串,任选两子串(可以相交),两串或运算结果最大。数据随机。思路第一个取全串 为了最高位的1第二个dp维护一下 当前位置可以匹配左侧哪个位置 以至于一直前面位置尽量多1比如11100110023位置无限制4位置是0 需要匹1235位置是0 在满足4的前提下 需要匹2367位置无所谓8位置满足上文只能匹配56 因为5是0。所以确定唯一匹配6因为是随机数据 连续的1数量期望低所以复杂度低

2022-11-01 12:19:34 125

原创 Educational Codeforces Round 137C 1743C Save the Magazines

题意有n个箱子,第i个箱子里面装着ai​个杂志。现在正在下雨,有一些箱子上面盖着盖板(如果一个箱子上盖了盖板,那么这个箱子里的杂志就不会被雨淋),并且可以将盖在第i个箱子上的盖板移到第i−1个箱子上(同一个盖板至多移动一次)。求不会被雨淋的杂志数量的最大值。思路dpij维护当前位置ij表示最后i是否有板时的最大值

2022-10-31 21:08:37 178

原创 【无标题】Educational Codeforces Round 137B 1743B Permutation Value

题意给定一个n,需要构造一个长度为n 的数列,使得数列中所有子段中有特殊性质的子段数量最小。特殊性质:设子段长度为k,则该子段需包含1∼k的所有数思路只要1和2距离最远 特殊性质就只有1和all满足

2022-10-31 21:01:22 87

原创 Educational Codeforces Round 137 A 1753A Password

题意密码 长度4 只有数字0到9且不在题目输入的数列中数组成 并且是两个a两个b组成的 ab不同思路设第一个数是a 另外一个数是b 那么只有aabb abab abba三种如果题目输入的黑名单数量x 剩余可选数y=10-xans=y*(y-1)*3

2022-10-31 20:57:37 64

原创 Codeforces Round #828F CF1744F MEX vs MED

给一个排列 问多少区间满足mex>medmex为最小未出现非负整数med中位数也就是需要中位数之前的数都出现对于数字0 包含它的长度为12的串都满足对于数字1 包含01的长度为34的串都满足对于数字x 包含0到x的最小长度为a[x] 如果a[x]<=2x+1 那么结果ans+=2x+1-a[x]+1a[x]在遍历x时 一直维护最左最右位置算一下即可

2022-10-31 18:42:15 148

原创 Codeforces Round #828E 1744E Divisible Numbers

题意给abcd 求满足a<x<=cb<y<=d且xy%(ab)=0思路a的因子a1a2设x为a1的倍数 y为a2倍数b也类似 b1 b2枚举a1 滑动窗口 计算x 能对应的b1区间得到对应的b2区间 b2把 bd处理成区间看新区间能否有a2的倍数

2022-10-31 16:19:21 67

原创 Codeforces Round #828D CF1744D Divisibility by 2^n

数组长度n 你可以给ai乘一次i最后要求mul(a)被2^n整除 最小操作次数统计一下初始2的因子数然后算1~n里面 每个数贡献2的数量对于2幂数x=2^k 有( n/x+1)/2个

2022-10-31 12:51:47 149

原创 Codeforces Round #828C CF1744C Traffic Light

循环字符串 只有三种字符 ryg询问一种字符比如r要求r到后面第一个g的距离最远比如rggry 选第二个r 距离g为3找一个g的位置做为开始反向扫一遍(扫0时回n)

2022-10-31 12:42:49 93

原创 Codeforces Round #828B CF1744B Even-Odd Increments

数组长度nq次操作1 x给数组内所有奇数加上x或者0x给数组内所有偶数加上x初始ans=sum(a)num=奇数数量ans+=num*x 或者 (n-num)*x如果x是奇数 更新num

2022-10-31 12:29:57 111

原创 Codeforces Round #828A CF1744A Number Replacement

题意长度n的字符串 和数组数组选择一种数变化为字符 问数组能不能转化成字符串思路数组和字符是多对一的关系所以记录map[num]=char限制num不能对应多个char

2022-10-31 12:22:19 113

原创 Codeforces Global Round 23G CF1746G Olympiad Training

题意n个任务 每天只能处理一个有价值 最晚处理时间 类型分三种求解决三种任务分别abc个情况下的最大价值思路之前思路会t 占坑待续

2022-10-31 12:15:09 142

原创 Codeforces Global Round 23 F CF1746F Kazaee

正整数数组n 单点更新 区间查询 区间内的数的按数位分离 每种正整数的个数是不是都是k的倍数 比如1234 23 两个数 算作 一个1 两个2 两个3 一个4维护9个树状数组 分别更新1~9的数目

2022-10-28 10:09:44 163

原创 Codeforces Global Round 23 E CF1746E Joking (Hard Version)

题意 互动题 你需要猜一个数 范围e5询问在不在数集中 限最多52次猜测是不是某个数 最多两次其中询问反馈你的答案未必是对的,只保证2次连续询问至少有一次是对的猜测都是对的思路对同一个数集连续询问有真假真 假真假 真真 三种情况其中第三种可以发现是真数组平均分左右 假设query左区间 结果101在query左区间的左儿子 和右区间的左儿子(左儿子就是此区间再均分)这时 如果得到101 如果第一个问题是真 那么应该是左儿子的右儿子 否则是右儿子的左儿子如

2022-10-28 10:04:10 600

原创 Codeforces Global Round 23 D CF1746D Paths on the Tree

树节点变化1~n 根为1 带点权从1开始发出k个路径 每个节点被路径经过一次 贡献一次点权 同一个父节点的兄弟节点 路径数差值不能超过1 求总权值最大的最优路径集思路树dp 权值k 太大 而且没必要 因为限制兄弟节点路径数差值最多1 所以如果父节点路径数可能是x或者x+1 兄弟节点的路径数也不会演变成3种 只需要维护两个值dfs算一遍即可

2022-10-27 13:23:36 73

原创 Codeforces Global Round 23 C CF1746C Permutation Operations

长度n的排列 n次操作 第i次选择一个后缀长度都+i 要求最后数组严格递增 求一种方案思路 扫一遍 如果ai比前面小 那么找一个没有用过的数x 满足ai+x>ai-1记录x位置为ix默认位置为1

2022-10-27 10:03:27 239

原创 Codeforces Global Round 23B 1746B Rebellion

思路:因为只是要求数组不降,没必要形成大于1的数,只要把左面的1转移到右面的0上,统计0的个数为x,前x个数中1的个数 都需要移动,即为答案(也就是错误的1的个数,题目中删除这个数和把这个数置零应该是一样的)题意: 长度n的01数组,每次操作可以删除一个数,值加到另一个数上。最后要求数组不严格递增(a[i+1]>=a[i]) 求最下操作次数。

2022-10-27 02:06:40 138

原创 Codeforces Global Round 23 A CF1746A Maxmina 简单题

题意:长度n的01数组,每次操作消除2个连续数保留最小值 或者消除k个连续数保留最大值,最后问能否消除到只剩1。思路:不难发现 多次消除2个数,省下k个数 中有一个1就可以。那么如果k >=n 数组有1 就YES。如果 k

2022-10-27 01:57:06 112

原创 C++,java,python异同 快速入手其他语言 功能查询

适用于有一门语言基础 想快速入手其他语言,或者比较他们的异同,此文较为基础。

2022-10-27 01:29:38 943

原创 Educational Codeforces Round 138F 1749F. Distance to the Path 更新最近n点+树链剖分

题意n个点的树 初始点权1m个更新两种操作1更新u到v这条链上距离d以内的点 权值+k2查询点权d范围只有20思路树上更新链树链剖分很好搞更新距离d没见过 想到可查询的时候再处理周围d个点 但是不好搞 因为链上两个点如果都距离d以内 其实是只贡献一次的 不能简单划分查了一下树上距离d以内更新的优化方法

2022-10-26 18:46:19 146

原创 Educational Codeforces Round 138E 1749E. Cactus Wall

题意:样例中x为障碍 一些障碍已经给出障碍的4方向 不能再设置障碍障碍的对角4方向可以设置 并且算联通问能否设置左右联通的障碍 阻碍最上走到最下思路国象主教位置 既黑白格 区分只能是黑格连通或者白格分别dfs计算两种情况看能否连通

2022-10-26 18:24:17 91

原创 Educational Codeforces Round 138D 1749D. Counting Arrays

题意 原题说法比较绕正整数数组n每次可以移出一个数组一个数ai 满足 i和ai互素(gcd1) 然后后面的数左移 直到全部移除数组移空的方案数不唯一 视为特殊数组求长度小于n(3e5)值域范围m(e12)的特殊数组个数思路题目转化一下因为第一个位置一直可以移除所以方案唯一的数组很难达成方案唯一实际上 要求ai需要和小于i大于1的数全都不互素 才能不被提前消除所以ai必须是2~i的lcm的倍数更新lcm 算出来可能数 用总的sum(m^i )去减就行了

2022-10-26 16:52:49 97

原创 Educational Codeforces Round 138C 1749C. Number Game

题意:博弈 n个数先手选择一个kwhile k--先手消灭一个小于k的数 后手给一个数+k求最大的k思路 后手肯定每次选择一个1填值所以1的数量就是k的数量

2022-10-26 12:21:39 194

原创 Educational Codeforces Round 138B 1749B. Death‘s Blessing

题意a,b两个数组 可以花费 ai消除第i个数 给左右两侧a加上bi 数组收尾并不相连思路a数组其实每个都要花费 而且只有一次 所以直接求和做为答案基础b数组 实际上先选择一些断点双倍b代价 然后每个段有一个最高值不取 把b看做一个波浪线可以有k个波峰不取 k个波谷取2倍

2022-10-26 11:32:22 173

原创 Codeforces Round #829F CF1753F. Minecraft Series

n*m(e4)个格子的广场 分布k(e6)个非0整数 一个格子可能多个整数ans正方形定义为内部存在t个不同整数 加上0能满足一个连续数列 比如-1,0,1枚举正方形左上角 滑动窗口求满足的情况窗口内计数用set 维护一下

2022-10-25 21:12:41 55

原创 Codeforces Round #829E 1753E. N Machines

题意按顺序给n个因子 加或乘比如+a 或×a可以花费代价p和m 移动两种因子到任意位置总花费限制b保障结果在2e9以内思路首先如果移动加一定移动到最前 移动乘到最后想了一下区间dp 但是左右区间互相影响 无法消除发现这个保证很有用 他确保了乘法因子的总大小为1的乘法因子不必考虑 >1的乘法因子不超过30个那么可以dfs枚举哪些乘法因子要移动枚举时有一个很重要的剪枝 就是如果前面的×a1 枚举了不移动 那么后面的×a2 如果a2<=a1 也是必定不移动的复杂度

2022-10-25 18:57:32 183

原创 Educational Codeforces Round 138A CF1749A Cowardly Rooks

判断车能不能移动 只要车数量小于m 就能找到移动情况

2022-10-25 14:05:23 124

原创 Codeforces Round #829D CF1753D The Beach

把所有空点放入bfs的优先计为(pos,cost=0)队列枚举cost最小枚举当前点 如果当前cost>=min_cost 可以return如果当前点已经访问过 continue记录当前点花费做为空出此点最小花费然后检查当前点4方向存在空点 更新min_cost(ans)移动周围障碍到当前点,看是否能新形成空点入队列。

2022-10-24 14:47:48 51

原创 Codeforces Round #829C CF1753C Wish I Knew How to Sort

bool数组要排序,每次随机选2数来冒泡,求期望次数。假设数组里有x个0,那么需要最后数组里左侧x个数都是0,以x数右侧为线,两侧本身内的移动对结果没有意义,左侧有x个数,初始有y个1,右侧就会有y个0,也就是y对的数需要swap,计为dp[y];如果要消除一个对, 概率为左侧y种选择* 右侧y种选择 / 选出1对数 = y * y / C(n,2)期望为反比 C(n,2) * inv(y) *inv(y)for(i,1,y) ans += c(n,2)* inv(y) * inv*

2022-10-24 14:27:37 57

原创 Codeforces Round #829B CF1753B Factorial Divisibility

问数组a,sum(a!)%(x!)==0首先大于x的a无需考虑 会被约掉低于的 可以逐渐合并 1!+1! = 2!2!+2!+2!=3! 看能否合并成多个 x!map计数统计/ sort一下 从小到大扫一遍即可实际上有个前提 是合并剩余的部分 一定会小于x! 比如 4! + 4! + 4! + 3! + 3! < 5!因为5! = 4!+4!+4!+4!+4! > 4! +4! +4! + 4! + 3!+3! +3! + 2! + 2! + 1!阶乘这种形式 如果右

2022-10-24 13:44:24 102

原创 Codeforces Round #829 cf1753A Cowardly Rooks

一个值域{0,-1,1}数组切分序列后每个序列乘 {1,-1,1,-1...} 要求最后总和为0实际上 只切出若干个{1} {1,-1} 两种其中1的位置是任意的 可以全取1-1左侧必1先假设全1 算出总值,比如总值是4 那再看能不能把两个1 改成-1 从左到右依次贪心改即可。代码回去补

2022-10-24 13:14:58 83

原创 protocol buffer

protocol buffer 简称protobuf 或pb是google开发的 数据序列化协议 通常用于rpc数据交换类似的 还有常见的 XML 和 json 以及没用过的先码着的 MessagePack 和 Apache Thrift相比之下 protobuf 更轻量级先空缺一下pb的基础介绍码一下今天遇到的 protobuf c++使用中的一个坑,pb文件中定义的op...

2019-05-28 00:44:22 172

原创 C++ 工程 core文件 gdb解析

简而言之 core文件 是程序崩溃时 系统打印的当时的内存状态。可以用于分析程序崩溃的原因,core文件无法直接查看,需要用gdb命令:gdb program core来查看 core 文件,其中 program 为可执行程序名,core 为生成的 core 文件名。然后用bt命令打印 内存栈信息然后可以用f n移动到第n栈f打印信息info f打印详细信息p n...

2019-05-23 00:36:44 691

原创 linux第一篇 入门

第零部分 前言本文内容定义为适合快速入门使用,内容不够严谨但方便理解,适合会用windows系统但从没接触过linux系统的新手快速上手。如果你对linux有一定的了解了,但对于某一命令不解或者需要查找某一功能相关命令,请移步 linux第二篇 命令中间内容如有错误,还望指出。欲知更多详实内容和复杂问题,请移步后续篇章。第一部分 linux简介。简单废话两句,尽量说实用的。...

2019-01-04 00:04:52 168

原创 HDU 5499/BC 59A SDOI

首先按照题中所给的公式,计算出每个人的分数,结构体排序,之后先输出排名前m-1个队员,如果已经输出了女队员或者没有女队员参加,那么直接输出排第m的队员即可。否则找到剩下队员中排名最好的女队员#include#include#include#include#include#include#include#include#include#include#define scnaf

2016-10-26 14:47:02 253

原创 HDU 5435/BC 54E AB String

由于询问的是原串中不存在的第k小的子串,而不存在的子串应该有很多,长度为32的串有232个,而原串的子串最多有4*108个,所以第109小的不存在串长度一定小于等于32。所以可以讲长度小于等于32的串都处理出来,排序去重,由于原串只有AB两种字母,可以令A为0,B为1,将串hash成一个数,由于0(A)和00(AA)是不同的串,所以可以在最前面加个1,即10表示串"A"。然后对于某个可以二分答

2016-10-18 21:03:09 436

原创 HDU 5434/BC 54D Reflect

反射n次即共n+1个点。可以设定从最下面的点出发,然后每次跳x个点,这样如果可以访问到每个点后再返回到原点,就是满足要求的。也就是如果x和(n+1)互质,就可以满足要求。答案即为euler(n+1)#include#include#include#include#include#include#include#include#include#include#include

2016-10-18 20:52:33 292

原创 HDU 5433/BC 54C Geometric Progression

大数判断等比数列,要求公比不能为0, 套用大数模板,判断等比时可以判断a[i]*a[i]与a[i-1]*a[i+1]是否相等。对于公比为0的判断,如果首项为0,则其余数均为0。首相不为0,则其余数均不为0。#include#include#include#include#include#include#include#include#include#include#in

2016-10-18 20:48:36 277

原创 HDU 5432/BC 54B The Factor

题意有点绕,实质是求所求数列乘积的最小的两个素因子的积,没有输出-1。先筛素数,对于数列中的每个数质因数分解(剪枝可以分解出两个素因子后就退出),将得到的素因子排序,找到最小的两个输出,不足两个特判即可,注意结果可能超出int,需要用long long #include#include#include#include#include#include#include#inclu

2016-10-18 20:44:14 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除