Komorebi
首页
文章
标签
关于
友链
计蒜客题 前后缀和+二分答案
题意:有一个长度为n且由a和b组成的字符串,可以删除其中一个子串(可以不删),使得删除后的字符串的“变化”次数小于等于m次且最长。 变化:如果a[i]!=a[i+1]则为一次变化。 输出删除后最长的长度。 思路:最近好像经常做前缀和+二分的题目? 题目里出现了最长这种词语,所以要往二分答案上想(然而我还是看了题解做的QAQ 所以枚举删除的子串的长度,其他就由前后缀和预处理出来就可以了。 复杂度是n
2018-04-06
题解
计蒜客题 打表找规律
题意:给定正整数a,b并且a与b互质且满足a<b。 在所有小于b的自然数构成的集合A = {1,2,3,… ,b-1}中,称(c,d),c,d∈A中,为一个有序数对简称序偶。 求c和d相乘后模b等于a的序偶有多少对。 思路:打表大法好。 打表之后可以发现跟a无关,然后看到数列是这样子的 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8, 16, 6,
2018-04-04
题解
Project Euler234 素数筛法+容斥原理
题意:L(x)为小于等于sqrt(x)的最大素数,R(x)为大于等于sqrt(x)的最小素数。 若一个数x只能被L(x)和R(x)其中一个整除,我们称之为奇异数。 对于一个正整数n,求[4,n]中所有奇异数的总和。 思路:首先sqrt(x)为素数的话肯定不符合条件。 而且一个非素数的L(x)和R(x)肯定是相邻的素数,所以就考虑每一个素数到下一个素数这个区间。 那么在这个区间就要求出只能被L整除或
2018-04-04
题解
ST表
视频大法好:https://www.bilibili.com/video/av18735440?from=search&seid=13498212845468537633qew 模板:O(nlogn)预处理,O(1)查询。空间O(nlogn)。 int d[1000006][25];//预处理得到的dp[i][j]表示从第i位开始长度为2^j当中最小的值 int mn[1000006];/
2018-04-02
学习
CodeForces939E 三分
题意:有一个集合S,进行Q次操作。 第一种操作:在集合S中添加元素x,保证x不小于S中的任何元素。 第二种操作:选出一个S的子集s,让max(s)-mean(s)最大(max(s)表示这个子集的最大值,mean(s)表示这个子集的平均数),输出这个最大值。 思路:经过多次举例,可以知道s中,当前的最大值一定是要选的,因为这个权重比较大,然后对于这个平均值,可以再举例分析。 肯定是从左往右取,比如1
2018-04-01
题解
三分查找
参考博客:https://blog.csdn.net/beiyouyu/article/details/7875480 概念在二分查找的基础上,在右区间(或左区间)再进行一次二分,这样的查找算法称为三分查找,也就是三分法。 三分查找通常用来迅速确定最值。 三分法所面向的搜索序列的要求是:序列为一个凸性函数。通俗来讲,就是该序列必须有一个最大值(或最小值),在最大值(最小值)的左侧序列,必须满足不严
2018-04-01
学习
CodeForces954E 思维
题意: 思路: 纯看题解的题QAQ 首先可以把题目中的式子化成这样 所以可以把每个(ti-T)分成两类,一类正,一类负。 用贪心的思想,可以发现有一半必须全选,另一半选最靠近T的那些,因为ti-T越小,xi越大。 所以排序之后贪心就可以了。 涨姿势了原来这题目是这么做的。 可是这道题我debug了很久QAQ到现在我也不知道之前WA的写法错哪儿了 我只不过把之前负的的计数改成了正的 就AC了 很奇怪
2018-03-28
题解
bzoj1853 容斥原理+dfs
题意: 所有只含6与8的数叫做幸运数字,幸运数字的倍数叫做近似幸运数字,幸运数字都是近似幸运数字。 给定区间[l,r]求其中近似幸运数字个数。1 < =l< =r< =10000000000 思路: 类似以前做的能被3,5,7整除的数呀什么的。 首处理出所有的幸运数字, 然后找到这些数中的”幸运素数”(就是这些数组成的序列中不能被其他元素整除的数)。 找到这些数,那么 其实就把
2018-03-27
题解
CodeForces954G 二分答案+差分数组
题意:城墙上有n个连成一排的区域,每个区域中有一些弓箭手。弓箭手们都有r的防御半径,也就是说,弓箭手能够防守到向左或向右r个区域加上自己所处区域的范围。每个区域的防御等级为能够防守到该区域的弓箭手数量的总和,而城墙的防御等级为各区域防御等级的最小值。现在我们共有k名备用弓箭手可以增援这n个区域。问增援后城墙的防御等级的最大值能达到多少。 思路: 二分答案。 从左到右遍历这些区域,只要有区域i防御等
2018-03-27
题解
高斯消元
异或方程组模板(以HDU3364为例)题意:给出n盏灯和m个操作,最开始灯都是关的状态,每次操作可以把k盏灯取反,给你n盏灯的最终状态,问达到这个状态有几种方案。 思路:解异或方程,这里要注意要有一个初始矩阵,因为在高斯消元的过程中矩阵会发生变化。 #define MAXN 55 typedef long long ll; int equ, var;///equ个方程 var个变量 int ori
2018-03-14
学习
1
…
11
12
13
14
15
…
23
Search
×
keyword