自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sb的博客

不进则退

  • 博客(35)
  • 收藏
  • 关注

原创 CS Academy Round #44 A B C D

A 计算出现>=k次的数有多少个int cnt[maxn];int bo[maxn];int main(){#ifdef LOCAL freopen("input.txt","r",stdin);// freopen("output.txt","w",stdout);#endif // LOCAL int n,k; sdd(n,k); int a

2017-08-31 01:37:33 219

原创 Codeforces Round #430 (Div. 2) D. Vitya and Strange Lesson

从高位到低位建一个01trie 每次对序列异或x 实际上只要把新的x异或上前面的所有x再找就可以了 假如原序列中没有x那就是0 有的话就找一遍 尽量往小的跑 满了的话就再往上#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstd

2017-08-30 12:11:56 194

原创 CS Academy Round #43 A B C D

A 题意: 丢两个骰子最高概率得到的和#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstdio>#include <map>#include <set>#include <utility>#include <stack>

2017-08-28 00:50:11 285

原创 AtCoder Grand Contest 019 B - Reverse and Compare

题意: 可以选择一个子串翻转一次 能得到多少个不同的串做法: 考虑一个串的首尾是相同的字母 假设它的长度为n 那么翻转[1,n] 等价于 翻转[2,n-1] 所以忽略掉翻转[1,n]的情况问题就转化为求有多少对相同的字母 总共可翻转的选择减去这些情况就是答案#include <iostream>#include <algorithm>#include <sstream>#incl

2017-08-27 00:21:14 302

原创 AIM Tech Round 4 (Div. 2) D. Interactive LowerBound

假设可以暴力找k次,剩下的就是1999 - k次随机 找不到的概率就是1 - ((n - k)/n)^(1999 - k)用随机数询问 记录最靠近答案的 <= x的位置 然后暴力#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstd

2017-08-26 02:20:46 296

原创 CodeChef - STRINGRA Strings and Graphs

题意:定义f(a),假如a是A的子序列那么f(a)为序列a在A中最小的最大序号现在构造一个有向图 V0,V1,……,Vn 在序列A中假如子序列c1能由子序列c2加一个数字得到那么连一条 ( Vf(C1), b, Vf(C2) ) ,b为一个标记现在给一个有向图 问能否构造出一个字典序最小的序列A 不能构造则输出-1做法:0连的点肯定是不一样的 先填上不一样的数字 然后从左往右对x->y填b

2017-08-25 22:24:59 218

原创 #22

A 上到下一定会有边界存在 直接扫一遍http://paste.ubuntu.com/25382615/ B 二进制问题 不足2^k的时候多余的部分用k-1位表示 可以观察到这一部分的性质是直接加2队友的代码: http://paste.ubuntu.com/25382619/C DE 并查集 连起来然后把存在的dna记下来队友的代码: http://paste.ubuntu.

2017-08-24 20:28:08 165

原创 #21

2016 ACM/ICPC Asia Regional Qingdao OnlineA 水题 预处理一下 http://paste.ubuntu.com/25376051/B 预处理 注意输入可以很长http://paste.ubuntu.com/25376054/C AC自动机 注意不区分大小写http://paste.ubuntu.com/25376056/D 规律http://pas

2017-08-23 19:48:01 188

原创 Educational Codeforces Round 27 G. Shortest Path Problem?

对每一个可以走成环的地方记录一个可以改变的费用想要异或的值最小那么一定是尽量跟小于等于自己的异或只需要保存这个环跟原来已记录的费用异或出的最小费用(为0表示无变化)代码学习了qls的(#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstd

2017-08-23 01:48:49 171

原创 #20

ACM ICPC 2014-2015, Northeastern European Regional ContestA 最优策略变偶数序号的行列http://paste.ubuntu.com/25368920/B 贪心 注意bi为0的情况http://paste.ubuntu.com/25369042/C D EF 模拟 hash的位置如果都为1则加入答案http://paste.ub

2017-08-22 19:26:52 185

原创 #19

2015 ACM-ICPC Asia Shenyang Regional ContestAB 剪枝一下 last记录上一个不是它子串的 因为假如i是它的子串那么i的子串一定也是这个的子串http://paste.ubuntu.com/25362150/CD 取gcd 能选的个数就是n/gcdEF 容斥 枚举ai跟m的gcd 那么能走的就是m/gcdhttp://paste.ubuntu

2017-08-21 19:30:26 177

原创 #18

2016 CCPC Changchun Onsite ReshownAB 模拟分式 http://paste.ubuntu.com/25353899/CD n比较小 直接打表把答案放进数组直接做的话是考虑放i进入集合 最优的是让a+b==cE 求1-n的和F 1-n的原始排列的答案为n 两个偶数放在一起能对答案的贡献+1 因为2*k<=n 所以直接把需要个数的偶数放在一起 剩下的按原

2017-08-20 18:37:35 220

原创 #17.5

2017 ccpc资格赛01 HDU 6150 0203 这里有个惊人的定理 那就<6的时候再暴力check一下http://paste.ubuntu.com/25347006/04 把两个串倒转 就变成了找第一个串有多少个第二个串的前缀 用kmp预处理第二个串 再用第一个串匹配假如能匹配到 j 则代表第一个串中有pre jhttp://paste.ubuntu.com/253476

2017-08-19 21:42:40 260

原创 Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) F. Bamboo Partition

可以把式子写成d*sum( (a[i-1]-1)/d +1 ) - sum( a[i] ) <=k(a[i-1]-1)/d +1的取值有sqrt(ai)种枚举这个d再check一下#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstdio

2017-08-19 01:40:28 174

原创 Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) E Cards Sorting

将数拿走后数的相对位置是不会变的 所以考虑用一个变量记录上一次拿走数的位置 set记录每个数存在的位置 用bit记录区间有多少个数 然后模拟操作#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstdio>#include <ma

2017-08-18 13:39:11 178

原创 #17

The 2014 ACM-ICPC Asia Mudanjiang Regional ContestA 水题B CD 概率dp大佬的题解E F F GH hash+递归 每个大括号是一层大佬的题解I J K

2017-08-17 21:23:11 231

原创 Codeforces Round #428 (Div. 2) D

从大往小枚举gcd 再减掉每个gcd的倍数的答案#include <iostream>#include <algorithm>#include <sstream>#include <string>#include <queue>#include <cstdio>#include <map>#include <set>#include <utility>#include <stac

2017-08-17 00:08:57 234

原创 #16

The 2014 ACM-ICPC Asia Taichung Regional ContestA 模拟 http://paste.ubuntu.com/25324981/B MSTC D 树形dp g为黑 f为白http://paste.ubuntu.com/25325654/E 几何模版题F G H I 二分图匹配 最大匹配数=最小点覆盖 http://paste.ub

2017-08-16 18:33:42 142

原创 #15

2016-2017 ACM-ICPC, South Pacific Regional Contest (SPPC 16)A 找规律 开玩笑的 没有规律 暴力跑边找坐标http://paste.ubuntu.com/25312196/B 把输入的先倒过来 然后构造的时候检查如果是在插入u之后操作的那就是在u后面 递归构造http://paste.ubuntu.com/25312411/C

2017-08-14 21:10:49 320

原创 #14

2016-2017 ACM Central Region of Russia Quarterfinal Programming ContestA 直接2*n/k n<=k的时候要特判一下B 找规律 http://paste.ubuntu.com/25304160/C 贪心放 每个方块露出一半 特别考虑一下为长度奇数的情况 画个图理解一下 http://paste.ubuntu.co

2017-08-13 19:35:59 228

原创 想#13

2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15)A 水题 http://paste.ubuntu.com/25296514/B C DE 模拟 http://paste.ubuntu.com/25296918/F 可以用dij做 大佬的题解G 记一下最大和第二大(不能跟最大同余)的 取差值最小的

2017-08-12 18:46:56 173

原创 后缀数组的实现

因为这周遇到了后缀数组的模版题 所以今天顺便记一下自己对后缀数组各个地方的理解有任何问题欢迎指出和纠正!首先后缀就是从串中的一个开始一直到末尾 而后缀数组就是处理出一个存有每个后缀的信息 然后根据这些信息和一点LCP的性质我们可以容易求出每个后缀之间的LCP(最长公共前缀)首先我们会处理出两个数组 一个rank数组 rank[i]表示sufi在所有后缀中的排名 一个sa数组 sa[i]

2017-08-11 11:50:51 312

原创 划水专家#12

The 2014 ACM-ICPC Asia Shanghai Regional ContestAB 我又震惊了 围绕一个方块转的正圈数居然就是在它左边往上的次数学到了一个差分矩阵的方式 改变a[i][j]代表(i,j)到右下角的矩阵每个点权值+v 然后扫一次完成修改http://paste.ubuntu.com/25284178/C D E F G HI 贪心+震惊STLhttp

2017-08-10 21:28:09 213

原创 有点饱#11

The 2015 ACM-ICPC Asia Beijing Regional ContestA 扫描线维护前缀和 http://paste.ubuntu.com/25276313/BC BFS 预处理一下5个数字的变化情况以及需要的操作数 然后暴力check答案 http://paste.ubuntu.com/25277761/D 网络流 神仙级建图 大概是个这样的建图方式

2017-08-09 19:20:35 144

原创 放弃治疗#10

2016-2017 ACM-ICPC Asia-Bangkok Regional ContestAB 容斥+组合数 教练我推不出啊C D E FG 矩阵快速幂 求fib[k]+fib[2k]+.. 放弃治疗了 休息再说吧 不过我构造了一个矩阵 记一下 H 显然是个状压dp? 但是我要睡了 等一个总结日I 对rt和x求LCA 然后分类讨论一下就好了 http:/

2017-08-08 19:19:24 213

原创 实验室好热#9

2015 ACM/ICPC Asia Regional Hefei OnlineA B C D EF 先处理出fi代表以i为头的LIS gi表示以i为尾的LIS 离散化一下数字 枚举区间并更新左边每个数字的gi 加上右边的LIS就是现阶段最长的 枚举区间前先更新出区间放在最右边时的答案http://paste.ubuntu.com/25263190/GH 模拟二进制处理 要减少1

2017-08-07 20:26:24 211

原创 吐了#8

The 40th ACM-ICPC Asia Hefei Regional Onsite ContestA B C D E大概就是个二分图最大匹配 考虑一下点和点的关系构造图然后连边 匈牙利搞一下大佬的题解http://paste.ubuntu.com/25256722/ 我要困死了FG 后缀数组 可以说是模版题 http://paste.ubuntu.com/25254898/H

2017-08-06 19:44:01 183

原创 切水王#7

Pacific Northwest Region Programming Contest Division 2A 阅读理解题 模拟B 水题C 水题 找最大和最小的s,f 然后safe = max(s,f-1) , broken = min(s+1,f)D BFS水题E 水题F 水题 二分答案k 假如最小的数想大于k那么一定得跟最大的数组合G 水题排序H dp[i]表示到i时

2017-08-05 22:23:29 408

原创 Educational Codeforces Round 26 D

显然这是个dp 考虑状态只有因子5的个数和因子2的个数 而1e18不会超过26个因子5 所以用dp[i][j][k]来表示到第i个数已经选了j个有因子5k个时因子2的个数 而这样的三维数组会爆空间 所以滚动dp降低一维 用dp[][][]用来表示某种状态是否存在的时候是会有点浪费的 可以把某一位拆出去#include <iostream>#include <algorithm>#in

2017-08-05 00:44:12 252

原创 Codeforces Round #427 (Div. 2) C D

C对坐标维护一个前缀和 sum[i][j]表示以[1,1]为左上角 [i,j]为右下角的数量 每次查询一个矩形只要剪掉上边和左边多余的矩形再加回多减的部分就可以了 因为还有亮度 再增加一维记录每个亮度的星星情况

2017-08-04 23:59:11 199

原创 第三周

最近感觉挺好的 保持状态吧1.剪枝其实有很多东西其实是可以通过暴力解决的 但是暴力出来的状态通常会比较多 可以通过观察题目给定的条件找到一些状态的限制 在暴力的时候利用这些条件 可以减少很多无效并且浪费时间的枚举2.区间dp其实并不是一个很难的东西 只是把状态的表示转到对于区间的表示上了例如有dpij表示[i,j]的答案 那么我们要处理出每个区间的答案 就可以枚举区间 然后再枚举区间与

2017-08-04 11:19:20 240 2

原创 我觉得ok#6

ACM ICPC Dhaka Regional 2016 A 水题BC n^2处理每个点能到另一个点的距离 假设这个距离为x 那大于等于x的时候对整个图的答案贡献+2 每一次更新+2即可 树状数组更新求前缀和http://paste.ubuntu.com/25232691/D 水题 模拟E F 考虑把存在的每个数和他们的因子连通http://paste.ubuntu.com/2523

2017-08-03 18:38:09 389

原创 咖啡好喝#3

2016 Central Europe Regional ContestA 搜索出每个矩阵处理成字符串形式 如果没有记录过则记录下四个方向的形式B C 假设端点为三角形 处理出它到中间第一个正方形或圆形的距离 然后剩余加上剩余区间长度 (如果全是三角形就是加n-1) 底边是n-1 两边长度处理一下两个端点的形状D E F 考虑把两个状态全部拆开来的总操作 但是有一些是根本不用

2017-08-02 22:07:58 222

原创 好饿#5

The 2016 Asia Regional Contest, TsukubaA 水题B 模拟 主要是要考虑交换相邻的时候不要是相同的http://paste.ubuntu.com/25226210/C 机械臂的x坐标是不重复 从左往右考虑 显然之前能达到这条轨道的可以通过新遇到的机械臂达到另一条 所以考虑记录对每个轨道可以被其他轨道达到的最大最小序号 这一段区间

2017-08-02 19:28:52 168

原创 wa自动机#4

ACM ICPC 2013-2014, NEERC, Northern Subregional ContestA 水题 找最长的连续字典序首字母 B 水题 模拟 C D SPFA 不断更新最小值 http://paste.ubuntu.com/25220103/ E 水题 模拟 F 记录每个数字的位置 用树状数组处理出分离出块为[i,j]的权值wij dpij为到i分成

2017-08-01 20:23:28 1198

空空如也

空空如也

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

TA关注的人

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