随笔分类 - 二分
摘要:【题目链接】:http://codeforces.com/problemset/problem/431/D【题意】 给你一个数字m和数字k; 让你找一个数字x; 使得x+1..2*x这个区间范围内的数,它们的二进制形式里面,1的个数恰好为k个的数字恰好有m个; 【题解】 首先需要...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/743/E【题意】 给你n个数字; 这些数字都是1到8范围内的整数; 然后让你从中选出一个最长的子列; 要求这个子列中各个数字出现的次数的差的绝对值都不超过1; 且如果是相同的数字的话:...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/716/D【题意】 给你一张图; 这张图上有一些边的权值未知; 让你确定这些权值(改成一个正整数) 使得s到t的最短路恰好为L 【题解】 首先; 算出两个值 temp1->所有的未知边...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/803/problem/D【题意】 给你一个字符串; 其中的空格和连字符表示可以折叠的部分 (就是说能在那个位置把字符串分成两部分,且和两部分分到两行去); 这个操作能够使得原字符串不断变小; 问你最后获得的...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1483【题意】 中文题 【题解】 二分最后的答案; 二分的时候; 对于每一个枚举的值x; 计算小于等于它的值(对应了若干个区间,且这些区间里面,每一个区间的价值(相同对数)都小于等于x...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/514/problem/D【题意】 给你每个机器人的m种属性p1..pm 然后r2d2每次可以选择m种属性中的一种,进行一次攻击; 攻击过后每个机器人的该种属性都减少1; 可以最多攻击k次; 机器人只有m种属...
阅读全文
摘要:【链接】h在这里写链接【题意】 给你一个长度为n的子串; 让你求出第k小的子串是什么; 输出答案的类型分两种; 第一种,重复的算两次,第二种,重复的算一次。 你的程序要能分别处理这两种情况。 n最大5*10^5【题解】 感觉是道裸的后缀数组了。 ...
阅读全文
摘要:【链接】h在这里写链接【题意】 给你一个长度为n(n这一点可以将二分的右界设置为d-c+1; 找到一个就返回True即可。 显然前缀越长越不可能,单调性比较显然 复杂度? m*(log2n*常数)的样子? 感觉能卡过去【错的次数】0...
阅读全文
摘要:【链接】h在这里写链接【题意】 给你一个字符串; 让你把它分割成最多k个部分。 然后求出每个部分的字符串里面子串的字典序最大的那一个子串。 然后在这k个子串里面,再选一个字典序最最大的那个。 作为魔法串。 要求这个魔法串的字典序尽可能地小.【题解】...
阅读全文
摘要:【链接】h在这里写链接【题意】给你一个长度为n的序列。问你能不能在其中找到一个最长的子串。 这个子串至少出现了k次.【题解】长度越长,就越不可能出现k次后缀数组+二分。N最大为20000;每个数字在0到1e5之间防止出错,把那个数字都加上1就好(因为N比每个数字的大小来的小,所以需要把N也开到...
阅读全文
摘要:【链接】h在这里写链接【题意】 给你一个长度最多为2万的序列(由1..88这些数字组成)。 让你在里面找一个子串。 这个子串或它的转置子串(就是每个数字都加上或减去相同的数字)在这个序列中 出现了至少两次,且没有重叠部分。让你求这个子串最长能够多长。 这个子串的长度最少...
阅读全文
摘要:【链接】点击打开链接【题意】在这里写题意【题解】最大的给了最小的,实际上就对应了,最大值减1,最小值加1.那么二分最后班级人数最小的最大可能是几->temp1;二分最后班级人数最大的最小可能是几->temp2;对于二分的m;看看比它小的数字,ju都加上m-a[i];然后看看ju是不是小于等于k,根据...
阅读全文
摘要:【Link】:http://codeforces.com/contest/835/problem/D【Description】 给你一个字符串; 让你在其中找到1..k阶的回文子串; 并统计它们的数量 如果一个字符串是一个回文串,则它可以是1阶子串; k阶字符串,要求它的左边和右边...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/822/problem/C【题意】 有n个旅行计划, 每个旅行计划以开始日期li,结束日期ri,以及花费金钱costi描述; 让你在这n个旅行计划中选出两个计划; 要求这两个计划的日期没有相交的部分; 且这两...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/589/G【题意】 有n个人; 每个人每天在开始工作之前,都需要di单位的准备时间,然后才能开始工作; 然后每个人都有m天的时间,每天有ti个单位的时间供每个人进行准备工作以及工作; 也...
阅读全文
摘要:【题目链接】:https://csacademy.com/contest/round-34/summary/【题意】 让你找一个最短的连续子串; 使得这个子串里面所有数字or起来最大; 【题解】 对于每一个起点i; 最大值肯定是i..n这一段全部or起来; 只是长度可能还能再短一...
阅读全文
摘要:【链接】h在这里写链接【题意】 给你n(nusing namespace std;const int N = 1e5 + 500;const int MAX_CHAR = 255;//每个数字的最大值。char s[N + 10];//如果是数字,就写成int s[N+10]就好,从0开始存i...
阅读全文
摘要:【链接】h在这里写链接【题意】给你n个字符串。让你找最长的字符串s;这个s在超过一半的子串里面都有出现过且长度大于n/2;如果有多个,输出多行。(按字典序输出)也没说会不会出现大写。【题解】后缀数组+二分。把每个字符串之间用一个没出现过的分隔符分开;(从'z'+1开始)100*1000 + 100大...
阅读全文
摘要:【链接】h在这里写链接【题意】给你n个字符串。让你找一个字符串s.设s'为这个字符串的逆序。要求s或者s'在每个字符串里都能够找得到.并且要求s的长度最长。求出这个最长的串的长度.【题解】把n个串,每个串逆序或者是倒序.顺序加成一个串.(标记一下每个串是属于第几个串..逆序顺序属于同一个串!)(中间...
阅读全文
摘要:【链接】h在这里写链接【题意】问你n个串里面有没有一个串,使得其余n-1个串都是他的子串。【题解】后缀数组.答案肯定是那个最长的串。则,把那个串求一下Sa数组(注意仅仅那个最长的串求)。然后枚举其余n-1个子串。看看它们是不是那个最长的串的子串;(可以用一个类似二分的东西判断它是不是子串。);(字符...
阅读全文

浙公网安备 33010602011771号