lajiyuan的博客

但哪有一路走来都是顺风的。
私信 关注
lajiyuan_
码龄4年

已经退役啦,会不定期更新cf博客 or 其他计算机知识相关的博客.

  • 108,142
    被访问量
  • 301
    原创文章
  • 19,997
    作者排名
  • 168
    粉丝数量
  • 毕业院校 哈尔滨工程大学
  • 目前就职 上海依图网络科技有限公司
  • 于 2017-05-23 加入CSDN
获得成就
  • 获得152次点赞
  • 内容获得127次评论
  • 获得194次收藏
荣誉勋章
兴趣领域
  • #运维
    #Kubernetes/容器
  • #后端
    #架构#Linux#分布式#C/C++
TA的专栏
  • 笔记
  • Ubuntu
    2篇
  • 工程知识
    1篇
  • 编程工具
    2篇
  • Windows
    1篇
  • 工具
    1篇
  • linux
    1篇
  • 脚本知识
    1篇
  • 记忆化搜索
  • 斜率优化DP
    1篇
  • 洛谷
    1篇
  • LOJ
    1篇
  • 队内训练
    6篇
  • 多校
    1篇
  • 网络赛
    8篇
  • 个人训练计划
    37篇
  • Codeforces
    140篇
  • 51NOD
    24篇
  • 牛客
    7篇
  • POJ
    23篇
  • HDU
    33篇
  • BZOJ
    1篇
  • URAL
    2篇
  • SPOJ
    1篇
  • UVA
    4篇
  • ZOJ
    4篇
  • FZU
    2篇
  • LightOJ
    9篇
  • CSP
    2篇
  • KMP
    14篇
  • 后缀数组
    9篇
  • 最小表示法
    3篇
  • 字典树
    17篇
  • AC自动机
    8篇
  • manacher
    3篇
  • Hash
    11篇
  • DP
    47篇
  • 数位DP
    2篇
  • 树形DP
    7篇
  • 区间DP
    2篇
  • 状压DP
    1篇
  • 数据结构
    4篇
  • 线段树
    18篇
  • 主席树
  • 莫队算法
    9篇
  • ST表
    2篇
  • 树状数组
    3篇
  • 单调栈
    2篇
  • 数学
    24篇
  • FFT
    1篇
  • 构造
    5篇
  • 矩阵快速幂
    3篇
  • 优先队列
    3篇
  • 容斥原理
    10篇
  • 图论
    4篇
  • 网络流
    1篇
  • 最短路
    3篇
  • 拓扑排序
    3篇
  • DFS
    7篇
  • LCA
    1篇
  • 思维题
    35篇
  • 二分
    19篇
  • 三分
    1篇
  • SET
    2篇
  • LIST
    1篇
  • 贪心
    8篇
  • 前缀和
    8篇
  • 单调队列
    3篇
  • 计算几何
    11篇
  • 博弈
    1篇
  • 交互题
    6篇
  • 模拟
    5篇
  • 优雅暴力
    4篇
  • 细节题
    1篇
  • 组合数学
    2篇
  • 线性基
    2篇
  • 决策单调性
    1篇
  • 离线问题
    2篇
  • 2018 wannafly winter camp
    1篇
  • 随机算法
    1篇
  • BFS
    1篇
  • GoogleCodeJam
    1篇
  • tarjan
    2篇
  • 差分
    1篇
  • 高斯消元
    1篇
  • 概率期望
    8篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Codeforces Round #698 (Div. 2) D. Nezzar and Board

D. Nezzar and Board题目链接:http://codeforces.com/contest/1478/problem/DDescriptionInputOutput题意给一个数列,a1a_1a1​,a2a_2a2​,a3a_3a3​…ana_nan​ , 每一次操作定义为,从已有的数字中随意选一个数字作为x,再选一个数字作为y,两个数字可以相同,然后向数列中加入2*x - y 这个数字,选中的数字仍然在数列中。可以操作任意次,问是否能凑出k。题解:首先考虑最终组成的
原创
1842阅读
5评论
7点赞
发布博客于 2 月前

【常用小知识】 windows下拷贝大文件

前言笔者在清理自己的windows文件时遇到了拷贝大量文件时windows会无响应的情况,于是搜了一波,用命令行工具robocopy解决了该问题。ROBOCOPY 详细说明(暂时用可跳过)在命令行输入 robocopoy /? 即可看到命令语法ROBOCOPY source destination [file [file]…] [options]源:源目录(驱动器:\路径或\服务器\共...
原创
274阅读
0评论
1点赞
发布博客于 1 年前

【win+linux双系统如何正确卸载linux系统】

前言win+linux双系统卸载linux用了1个多小时,现在分享一下踩坑经历以及卸载的正确姿势。卸载流程1.在 windows 下删除 ubuntu的所有分区win+x 选择磁盘管理,找到所有的ubuntu分区,红框中为笔者当时给ubuntu划分的分区。右键依次选择每个ubuntu分区,删除卷。在之前分出ubuntu分区的那个盘选择扩展卷,恢复如初。2.使用MbrFix.e...
原创
561阅读
0评论
0点赞
发布博客于 1 年前

【Codeforces Global Round 7】 A.B.C.D1.D2

Educational Codeforces Round 20前言好久没打cf的老年选手趁着早下班开了一场,感受到对于acm的某些思维有些淡忘了,但感觉这并不完全是坏事,只能说成绩与付出还是很有关系滴,以后尽量找时间再打打吧,不管打的怎么样,题解还是要写滴,只是补题很难有时间了~A.Bad Ugly Number题意构造一个长度为n的数字X,要求X的每一位大于0而且X不是每一位的倍数。...
原创
201阅读
0评论
0点赞
发布博客于 1 年前
【51NOD1405树的距离之和】 树形DP
发布Blink于 1 年前

【常用小知识】 脚本每秒输出系统时间

shell 每秒输出一次当前系统时间#!/bin/bashwhile [ true ]do echo "DATE:" $(date +"%Y-%m-%d %H:%M:%S") sleep 1donepython 每秒输出一次当前系统时间#!/usr/bin/pythonimport timeimport datetimeif __name__ == '__main...
原创
310阅读
0评论
0点赞
发布博客于 1 年前

【shell 练习】菜鸡的自我修养~

前言工作中经常有需要写一个简单shell脚本的情景,每次都要花费一些时间来用啥学啥,加起来用掉很多时间,所以打算用shell刷一些题,来锻炼自己的shell能力~1. 词频统计题目描述写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ’ ’ 。每个单词只由小写字母组成。单词间由一个或多...
原创
183阅读
0评论
1点赞
发布博客于 1 年前

【Template】

#include <bits/stdc++.h>using namespace std;#include <glog/logging.h>#include <gflags/gflags.h>DEFINE_string(ip,"100","ok");/************************************* in --- out ...
原创
68阅读
0评论
0点赞
发布博客于 2 年前

【Ubuntu下安装vscode并实现免密远程连接服务器】

1.到官网找到最新版vscode.下载deb类型文件,下载后安装即可。vscodedeb文件 下载链接2.安装remote插件刚下载的vscode应该是这样的,点击最下面的插件图表,进入搜索界面,搜索remote-ssh。点击右下角的install,安装插件。3.配置remote插件安装之后左侧多出一个电脑图标,将鼠标移动到图中"SSH TARGET"的位置可以看到一个设置键点...
原创
883阅读
2评论
2点赞
发布博客于 2 年前
HASH算法模板以及简单的入门题总结
发布Blink于 2 年前

1024

1024
原创
13807阅读
1评论
1点赞
发布博客于 2 年前

【NCPC2017-2018-gym101572-E.Emptying the Baltic 】优先队列

Emptying the Baltic题目链接:https://codeforces.com/gym/101572/problem/ADescriptionInputOutputSample Input3 3-5 2 -5-1 -2 -15 4 -52 2Sample Output10题意给你一个n*m的水池,每个格子都有一个相对于水平面的高度,如果为负数说明在...
原创
112阅读
0评论
0点赞
发布博客于 2 年前

【NCPC2017-2018-gym101572-A.Airport Coffee 】 线段树+分类讨论DP

Airport Coffee题目链接:https://codeforces.com/gym/101572/problem/ADescriptionInputOutputSample Input100000 100 138 60 30055000 20000 50000 55000 75000Sample Output20 3题意从000这个位置出发走到$ l这个位...
原创
115阅读
0评论
0点赞
发布博客于 2 年前

【2016-2017NEERC- gym101142-J. Java2016】构造

Java2016题目链接:https://codeforc.es/gym/101142Description[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7qKQLVW-1569576689570)(C:\Users\biubiubiu\AppData\Roaming\Typora\typora-user-images\1569575900401.png)...
原创
116阅读
0评论
0点赞
发布博客于 2 年前

【2016-2017NEERC- gym101142-I. Integral Polygons】计算几何+计数

Integral Polygons题目链接:https://codeforc.es/gym/101142DescriptionInputOutputSample Input57 33 51 42 15 0Sample Output3题意给你一个凸多边形,现在要在某两个点之间画一条线段把凸多边形分成两部分。问有多少种方案使得分成的两部分面积都是整数。题解...
原创
104阅读
0评论
0点赞
发布博客于 2 年前

【2016-2017NEERC- gym101142-C.CodeCoder vs TopForces】树状数组+记忆化搜索

CodeCoder vs TopForces题目链接:https://codeforc.es/gym/101142DescriptionInputOutputSample Input42 33 21 14 5Sample Output2203题意给你n个人,每个人有两个权值X,Y,所有的权值都是唯一的。定义A比B强为Ax>BxA_x>B_xA...
原创
84阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Gym-101933-E-Explosion Exploit】记忆化搜索

Explosion Exploit题目链接:https://codeforces.com/gym/101933/problem/EDescriptionInputOutputSample Input1 2 221 1Sample Output0.33333333题意己方有n个士兵,敌方有m个士兵,每个士兵有h[i]的生命值,现在造成d次伤害,每次随机对一名存活的士兵...
原创
226阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 11-F. Bear and Bowling 4】斜率优化DP+二分

Bear and Bowling 4题目链接:https://codeforces.com/contest/660/problem/FDescriptionInputOutputSample Input65 -1000 1 -3 7 -8Sample Output16Hint题意定义一个长度为n的数组a的权值为∑i=1ni∗a[i]\sum_{i=1}^{n} i...
原创
83阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces 665E-Beautiful Subarrays】01字典树

Beautiful Subarrays题目链接:https://codeforces.com/contest/665/problem/EDescriptionInputOutput##Sample Input3 11 2 3##Sample Output5题意给出一个数组,找出有多少个连续子序列满足子序列中所有元素的异或和大于等于k。题解:首先把连续子序列的异或和...
原创
122阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces 660C-Hard Process】二分/尺取

Hard Process题目链接:https://codeforces.com/contest/660/problem/CDescriptionInputOutputSample Input7 11 0 0 1 1 0 1Sample Output7 11 0 0 1 1 0 1题意给你一个长度为n的01串,最多可以把其中k个0变成1,问操作之后可以得到的最长的连续...
原创
101阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces 665D. Simple Subset】思维题

Simple Subset题目链接:https://codeforces.com/contest/665/problem/DDescriptionInputOutputSample Input22 3Sample Output22 3题意给你n个数字,在这n个数字中选择最多的数字,使这些数字中选择任意两个相加都是质数。题解:首先要发现如果选出的数中存在两个奇数或...
原创
89阅读
0评论
0点赞
发布博客于 2 年前

【P2827 蚯蚓】分析+乱搞

###题目连接:Description给你nnn个线段,每次操作把最长的线段LLL拿出来分成⌊p×L⌋\lfloor p\times L \rfloor⌊p×L⌋ 和L−⌊p×L⌋L - \lfloor p\times L \rfloorL−⌊p×L⌋ 两部分再放回去,而且除了被操作的线段其他线段的长度都加qqq,一共m回合,问每回合被操作的线段操作前的长度,和最终每条线段的长度。Inpu...
原创
96阅读
1评论
0点赞
发布博客于 2 年前

【LOJ 数列分块入门系列 总结 】

前言由于之前没有写过分块,所以找个专题来学习一下这种优雅的暴力,由于很多题犯了好多智障的失误,整套分块入门系列大概用了一天时间,总结下来就是暴力,需要思考的是能用最少的复杂度维护除分块之外的东西,以及维护块与块之间的关系。模板init 部分主要把每个块划分出来,求出左右边界,以及处理出每个元素所属于的块int n,num,BLOCK,bel[maxn],L[maxn],R[maxn];v...
原创
156阅读
4评论
0点赞
发布博客于 2 年前

【Codeforces Round #586 (Div. 1 + Div. 2) E. Tourism】 Tarjan缩点+树形DP

题目链接http://codeforces.com/contest/1220/problem/E题意给你一个n个点m条边的无向联通图,每个点有一个点权,现在给出起点s,找出一条点权和最大的路径,满足不能连续走同一条边两次,而且多次经过同一个点时,只获得一次点权。1≤n,m≤2∗1051 \leq n,m \leq 2*10^51≤n,m≤2∗105做法分析一下题意发现,如果无向图中出现...
原创
122阅读
0评论
1点赞
发布博客于 2 年前

【 Educational Codeforces Round 72 - E. Sum Queries? 】 拆位+线段树

题目链接http://codeforces.com/contest/1217/problem/E题意定义一个不平衡的multiset为集合中有某两个元素的十进制表示在某一位均有不为0。现在给出一个数组,每次单点修改一个值,区间查询这个区间所有的数能组成的元素和最小的不平衡的multiset。1≤n≤2∗1051 \leq n \leq 2*10^51≤n≤2∗1051≤m≤2∗1051...
原创
333阅读
1评论
1点赞
发布博客于 2 年前

【Codeforces Round #583】A.B.C.D.E

前言好久没打cf的弟弟重新打cf了,由于fst一题没能上太多分。ljjq rating+=65rating+=65rating+=65 1720->1785A. Optimal Currency Exchange题意签到题。做法暴力枚举即可。代码#include<stdio.h>int min(int a,int b) {return a<b?a:b...
原创
173阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #564 (Div. 2) D. Nauuo and Circle】

Codeforces Round #564 (Div. 2) D. Nauuo and Circle题意给你一棵树,问把这棵树放在一个圆上,保证任意两边不相交,而且从任意一点顺时针绕圆周的下标序列不同就算不同的放法,求方案数。做法首先考虑树形dp,由于在圆周上,一个子树肯定是一段连续的区间,那么也就是对于以u为根的来说,他的几个儿子之间是可以随意交换位置的,而且保证不会相交,所以加上u指向...
原创
386阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 66 (Rated for Div. 2) E. Minimal Segment Cover】离线+树上倍增

E. Minimal Segment Cover题意给你n个区间和m次询问,每次询问给出一个区间,问最少多少条线段可以覆盖这个区间。做法首先考虑n^2贪心的做法,每次从左端点L开始,找到包含这个点的r最大的区间,再从这个新区间的r出发,不断进行这个操作,直到包含R。我们发现对于每个点来说,一定是跳到他经过一个区间能跳到的最右侧的点,这样每个点只指向一个点,就形成一棵树,之后把L,R看成树...
原创
230阅读
0评论
1点赞
发布博客于 2 年前

【Educational Codeforces Round 66 (Rated for Div. 2)】 A.B.C.D.E

前言好久没打cf的老年选手被吊打啦。从B题开始心态爆炸,导致最后E没写完,不然还是可以给小号上紫的。biu_biubiu rating+=34rating+=34rating+=34 1828->1862A. From Hero to Zero题意给你n,k,每次有两种操作,第一种操作,如果n可以整除k,那么n可以除以k。第二种操作,把n减1。问最少多少次可以把n变成0。做法...
原创
144阅读
0评论
0点赞
发布博客于 2 年前

【2019ICPC西安邀请赛 J.And And And】树形DP+map

2019ICPC西安邀请赛 J.And And And题意给你一颗带有边权的树,问所有简单路径包含的异或值为0的简单路径的总条数。做法首先这道题正向做不好做,我们要考虑反向计算贡献,也就是计算每条异或值为0的路径被计算了多少次。可以发现每个异或值为0的路径u->v,只需要保证u到根节点的异或值等于v到跟节点的异或值即可。于是我们把边权转换为点权,定义sz[i]表示以i为根的子树大...
原创
238阅读
0评论
3点赞
发布博客于 2 年前

【LightOJ - 1265 Island of Survival 】概率&期望DP

LightOJ - 1265 Island of Survival 题意你现在进入一片森林,森林中有n只老虎m只鹿,森林中有几个法则。如果两个老虎相遇,两个老虎都会死亡如果一只老虎遇见一只鹿,鹿会被老虎吃掉如果两只鹿相遇,什么也不会发生如果你遇到一只老虎,你会被老虎吃掉如果你遇到一只鹿,你可以选择杀掉这个鹿或者放走这个鹿现在求你能活下来的概率。做法这道题有两个做法,但是不管...
原创
100阅读
0评论
1点赞
发布博客于 2 年前

【LightOJ - 1248 Dice (III)】概率&期望DP

LightOJ - 1248 Dice (III)题意给你一个n面的均匀的骰子,问期望摇多少次可以看到所有的面。做法首先我们设dp[i]为当前看到不同的i面,可以看到所有面的期望次数,很显然dp[n]=0之后我们可以根据概率得到转移方程dp[i]=(n−in∗(dp[i+1]+1))+in∗(dp[i]+1)dp[i]=(\frac{n-i}{n}*(dp[i+1]+1))+\frac...
原创
61阅读
0评论
0点赞
发布博客于 2 年前

【LightOJ-1104 Birthday Paradox】概率&期望DP

LightOJ-1104 Birthday Paradox题意经典的生日悖论问题,现在假设一年有n天,问一个生日聚会至少邀请多少人才能保证至少有两个人生日相同的概率不小于0.5。做法首先我们通过样例大胆猜对于每个n,答案应该很小。之后我们用dp的方法求即可。dp[i]表示到i个人出现两个人生日相同的概率,首先1-dp[i-1]表示i-1个人没出现两个人生日相同的概率,之后只要第i个人生...
原创
164阅读
2评论
0点赞
发布博客于 2 年前

【LightOJ-1079 Just another Robbery 】概率01背包

LightOJ-1079 Just another Robbery题意有n个银行,第i个银行有MiM_iMi​元,抢劫第i个银行被逮捕的概率为pip_ipi​,现在想知道被逮捕概率小于P的条件下,最多可以抢多少钱。做法首先这种dp,我们发现一个不能作为dp维度的实数要计算,就要把这个维度转换为dp值的定义,于是我们用dp[i][j]表示前i个银行抢劫j元不被逮捕的概率,dp的转移式很显然,...
原创
74阅读
0评论
0点赞
发布博客于 2 年前

【LightOJ-1038-Race to 1 Again 】概率&期望DP

LightOJ-1038-Race to 1 Again题意给你一个数字,每次这个数字会等概率地变成他的某个因子,问这个数字变为1的期望步数。做法期望DP的固定做法,从后往前DP,首先dp[1]=0,之后每个数字选中他每一个因子的概率相等,设数字x变为1的期望为dp[x],那么我们可以得到等式dp[x]=∑d∣xdp[d]+1dp[x]= \sum_{d|x} {dp[d]+1}dp[x...
原创
49阅读
0评论
1点赞
发布博客于 2 年前

【LightOJ 1030  Discovering Gold】概率&期望DP

LightOJ 1030  Discovering Gold题意从左到右有nnn个方格,每一块方格上有xix_ixi​块黄金,最初站在第一块方格上,有一个666个面的均匀骰子,每一个面上的权值是1−61-61−6,每次掷骰子之后按照点数yyy跳到yyy步之后的方格,如果超出范围,则重新掷骰子,问到达第n个方格能得到的期望黄金数。做法从后往前求期望,设dp[i]为i点到达n能获得的期望黄金数...
原创
251阅读
0评论
0点赞
发布博客于 2 年前

【LightOJ - 1027 A Dangerous Maze】概率期望

LightOJ - 1027 A Dangerous Maze题意有n个门,每个门有一个权值xix_ixi​,如果权值为正,说明如果选择这个门,会在xix_ixi​分钟后走到终点。如果权值为负,说明如果选择这个门,会在−xi-x_i−xi​分钟之后返回起点,现在问从起点出发,每次随机的选择一个门,求到达终点的期望时间。做法首先,这道题要明确一件事情,只要在起点,那么到终点的期望时间就是一样...
原创
61阅读
0评论
1点赞
发布博客于 2 年前

【 Educational Codeforces Round 63 D. Beautiful Array】DP

D. Beautiful Array题意给你一个长度为n的数组和一个x,现在可以选择至多一段子区间,让这个区间同时乘以x,之后让整个数组的最大子段和最大。做法dp[i][0]表示以i为终点还没进入加倍区的最大子段和。dp[i][1]表示以i为终点在加倍区内的最大子段和。dp[i][2]表示以i为终点离开加倍区的最大子段和。转移就很显然,最后对所有dp值取max即可。代码#incl...
原创
138阅读
5评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 63 (Rated for Div. 2) 】A.B.C.D.E

A. Reverse a Substring题意翻转某个子串使字符串字典序变小做法如果有逆序,一定存在相邻的两个逆序,输出即可。代码#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;const int maxn = 3e5+5;char str...
原创
131阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 63 E. Guess the Root】交互+高斯消元

链接Educational Codeforces Round 63 E. Guess the Root题意现在有111111个数,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10a_0,a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8,a_9,a_{10}a0​,a1​,a2​,a3​,a4​,a5​,a6​,a7​,a8​,a9​,a10​,0≤ai≤106...
原创
245阅读
1评论
1点赞
发布博客于 2 年前

【Codeforces Round #368 (Div. 2) D. Persistent Bookcase】线段树

链接:https://codeforces.com/contest/707/problem/D题意有n个书架,每个书架上有m个位置可以放书,现在要维护4种操作。1,x,y:如果第x个书架的第y个位置没有书,在第x个书架的第y个位置放置一本书2,x,y:如果第x个书架的第y个位置有书,把第x个书架的第y个位置的书拿走3,x: 将第x书架所有有书的位置的书拿走,将x书架所有没有书的位置放上...
原创
51阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #179 (Div. 2) C. Greg and Array】差分/线段树

链接:http://codeforces.com/problemset/problem/296/C题意:给你n个数,有m次操作,每次操作为区间加,现在有k次大操作,每次大操作执行m个操作的[l,r]区间,问k次大操作之后这n个数变成什么样?做法:第一种做法就是先对k次大操作进行差分,就知道每个小操作执行次数,之后线段树维护区间加即可。第二种做法就是知道每个小操作执行次数之后,在原数组上...
原创
72阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #254 (Div. 1) C. DZY Loves Colors】线段树

链接:http://codeforces.com/contest/444/problem/C题意:给你n个元素,第i个元素最初的颜色是i,最初每个元素的权值为0,有两种操作,第一种操作是区间赋值x,如果之前元素的颜色为y,那么赋值之后他的权值增加abs(x-y),第二种操作是查询所有元素的权值和。做法:首先可以想象如果每次操作区间很大,那么所有元素趋向颜色相同,如果操作区间很小,则可以暴...
原创
63阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #551 (Div. 2) D.Serval and Rooted Tree】树形DP

链接Codeforces Round #551 (Div. 2) D.Serval and Rooted Tree题意给你一棵树,每个点上有一个flag,如果flag=0,表示这个点的权值是所有子节点权值中的最小值。如果flag=1,表示这个点的权值是所有子节点权值中的最大值。如果一共有k个子节点,我们可以给每一个子节点安排一个1-k中的权值,但是每个权值只能使用一次,现在想知道根节点权值...
原创
186阅读
0评论
1点赞
发布博客于 2 年前

【ZOJ 4097-Rescue the Princess】无向图tarjan缩点+LCA

链接ZOJ 4097-Rescue the Princess题意给你一个无向图(不一定联通),有q次查询,每次查询给出三个点u,v,w,问v和w是否可以到达u而且不经过相同的边。做法首先我们把整个无向图进行缩点,可以得到一棵森林,如果答案合法,那么u,v,w肯定要在一棵树上,而且v和w的LCA一定是u,但是这里要注意这时无根树,所以要加一些判断,对所有不合法情况判断即可。代码#inc...
原创
682阅读
4评论
2点赞
发布博客于 2 年前

【Codeforces Round #275 (Div. 2) D.Interesting Array】线段树

链接:CodeForces-483D Interesting Array题意让你构造一个数列,满足m种限制条件,每种限制条件是l,r,x,要求构造的序列区间[l,r] 与运算的值结果为x。做法首先由一个拆位的做法,对于每次询问,拆成30位分别进行构造,对于每个为0的位,区间查询这一位下[l,r]的和是不是等于区间长度,也就是看区间[l,r]与的结果是否为0。对于每个为1的位,区间更新。但...
原创
48阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 52 C. Make It Equal】差分前缀和/线段树

Educational Codeforces Round 52 C. Make It Equal题意:给你一些从左到右摆放的n堆正方体,每堆正方体由一些正方体堆叠而成,现在每次可以沿着某个高度砍一刀,这个高度之上的正方体都会被砍掉,要求是掉落的正方体个数不超过k,问最少砍多少刀能让所有正方体高度相同。做法:首先可以桶排序,高度从高到低统计出每种高度正方体高度的个数,之后从高到低贪心的看是...
原创
66阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Beta Round #19 D. Points】离散化+线段树

链接:Codeforces Beta Round #19 D. Points题意给你一个笛卡尔坐标系,现在要支持三种操作,第一种操作是添加一个点(x,y),第二种操作是删除一个点(x,y), 第三种操作是查询严格在点(x,y)右上角的点中,横坐标最小的点,如果有多个点,选择纵坐标最小的那个。做法首先题中给出的坐标范围都是1e9,所以需要对x轴进行离散化,建立线段树,每个节点存储区间内所有...
原创
95阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #111 (Div. 2) E. Buses and People】离散化+线段树

链接:Codeforces Round #111 (Div. 2) E. Buses and People题意有n个公交车,每个公交车的信息有sis_isi​(公交车起始下标),fif_ifi​(公交车终点下标),tit_iti​(公交车发车时间)。有m个乘客,每个乘客的信息有lil_ili​(乘客起始下标),rir_iri​(乘客下车的下标),bib_ibi​(乘客上车时间)。乘客ii...
原创
163阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #458 D.Bash and a Tough Math Puzzl】线段树

链接Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined)题意给你一个区间,要支持两种区间操作。第一种操作是单点更新,第二种操作是询问某个区间是否可以去掉一个元素使这段区间的gcdgcdgcd为xxx的倍数。做法首先先要支持区间gcdgcdgcd和单点更新,这个用普通的线段树就可以维护。之后对于每个操作22...
原创
48阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #442 (Div. 2)E. Danil and a Part-time Job】 dfs序+线段树

链接:Codeforces Round #442 (Div. 2)E. Danil and a Part-time Job题意:给你一颗有根树,树上每一个节点有一个灯,现在要支持两种操作,第一种操作是统计一颗子树内开着的灯个数。第二种操作是将一个子树内的所有灯状态改变(开灯->关灯,关灯->开灯)。做法:首先对于树的dfs序建立线段树,这样每一棵子树都能表示成一段区间,之后问...
原创
54阅读
0评论
0点赞
发布博客于 2 年前

【线段树模板以及Codeforces线段树专题总结】

线段树模板//线段树一般用来解决可合并的区间问题//树上维护子树区间的问题也可以通过dfs序+线段树去维护//不要忘记build,dfs序问题build时注意下标//数组记得开4倍,push_down一定要想好顺序//对于每个问题,我们只要考虑清楚push_down和push_up的写法即可//当问题不好处理的时候,想象一下对于单次询问暴力的做法,再进行区间操作struct T{...
原创
1552阅读
1评论
6点赞
发布博客于 2 年前

【Google Code Jam Qualification Round 2019】 T1.T2.T3.

T1.Foregone Solution (17 pt)题意给出一个大整数,转换成两个不包含数字4的整数相加。做法直接扫描一遍即可,如果当前位是444,两个整数当前位分别为1,31,31,3,否则两个整数当前位分别为1,01,01,0。代码#include<stdio.h>#include<iostream>#include<algorithm>...
原创
433阅读
0评论
0点赞
发布博客于 2 年前

【Team 马上就要把楼上超过了 训练记录】

Team membersBiuBiuBiuWalkerNitrogensTo Do List找一个表达式求值模板加到板子里( 支持 + - × / )以及括号。Caution清空数组博弈题或者数学题遇事不决上来先打表输出字符大小写检验题意必须完全读懂再上去写代码数组大小一定要算好卡map的时候可以用字典树优化Contest2017 JUST Programmin...
原创
598阅读
0评论
3点赞
发布博客于 2 年前

【Codeforces Round #547 (Div. 3) F1.F2. Same Sum Blocks 】贪心+区间覆盖问题

F1.F2. Same Sum Blocks题意给你一个长度为n的数组,找出尽量多的不相交的区间并且他们的区间和相等。1≤n≤15001 \leq n \leq 15001≤n≤1500做法由于n=1500n=1500n=1500,区间和只有1500×15001500 \times 15001500×1500 种,所以我们这些区间和作为最终的答案,对于每种区间和可以得到很个区间,对于每...
原创
317阅读
3评论
0点赞
发布博客于 2 年前

【Codeforces Round #547 (Div. 3) E. Superhero Battle】思维题

E. Superhero Battle题意有一个怪兽,初始血量为HHH,他的血量变化情况是一个长度为nnn轮的周期。问怪兽会在第几轮死去。1≤H≤10121 \leq H \leq 10^{12}1≤H≤10121≤n≤2×1051 \leq n \leq 2 \times 10^51≤n≤2×105做法首先如果怪兽血量在一个周期内不曾小于等于000而且每个周期之后怪兽血量增加,直接...
原创
276阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #547 (Div. 3) C. Polycarp Restores Permutation】思维题

C. Polycarp Restores Permutation题意给你一个长度为nnn的数组差分后的数组(差分数组长度为n−1n-1n−1)。问原数组是否是一个1−n1-n1−n的排列。做法首先我们可以知道如果固定数组中的第一个数,就能还原数组,而且如果原数组是[1,n][1,n][1,n]排列,还原后的数组一定是[k,k+n−1][k ,k+n-1][k,k+n−1]的排列,所以只...
原创
94阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #547 (Div. 3) G. Privatization of Roads in Treeland】贪心+dfs

G. Privatization of Roads in Treeland题意给你一棵nnn个结点的树,现在要对每条边染色,如果一个节点所连接的边的颜色大于等于两种,则这个点是坏点,现在问如果要使坏点的个数不超过kkk,问最少要用多少种颜色去染边。做法首先由于这是一颗树,也就是每个边只属于两个点,所以可以认为每个点染色是独立的。因为对于每条边至少染一种颜色,所以这条边如何染色不影响另一个...
原创
80阅读
0评论
1点赞
发布博客于 2 年前

【Codeforces Round #547 (Div. 3) 】 A.B.C.D.E.F1.F2.G

前言biubiu-biu rating+=162rating+=162rating+=162 1500->1662A. Game 23题意给你两个数nnn,mmm,每次可以把nnn乘222或者乘333,问多少次操作之后nnn可以变成mmm。不能输出−1-1−1。做法首先判断是否整除,之后用商不断除以222/除以333最后判结果是否为111就可以。代码#include<...
原创
793阅读
5评论
0点赞
发布博客于 2 年前

【Codeforces Round #544 (Div. 3) D. Zero Quantity Maximization】GCD

D. Zero Quantity Maximization题意给你两个长度为nnn的数组aaa,bbb,ci=ai×d+bic_i = a_i \times d +b_ici​=ai​×d+bi​,现在找到一个ddd使尽量多的cic_ici​为000。1≤n≤1051 \leq n \leq 10^51≤n≤105−109≤ai,bi≤109-10^9 \leq a_i,b_i \le...
原创
51阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #544 (Div. 3) E. K Balanced Teams】DP

E. K Balanced Teams题意给你n个数,分成k组,要求每组内最大值与最小值的差值不超过5。求k组最多可以放多少个数。1≤n,k≤50001 \leq n,k \leq 50001≤n,k≤5000做法首先对数组排序,我们可以预处理每个数最多可以向左扩展的长度。之后我们用dp[i][j]dp[i][j]dp[i][j]表示前i个数分为j组最多可以放多少个数。对于每个i,...
原创
308阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #544 (Div. 3) F2. Spanning Tree with One Fixed Degree】DFS

F2. Spanning Tree with One Fixed Degree题意给你nnn个点mmm条边的无向联通图,找出一棵生成树,使111这个点的度=d=d=d。1≤n,m≤1051 \leq n,m \leq 10^51≤n,m≤105做法首先我们把111这个点先拿出来,如果111的度最初就小于ddd,答案一定不存在,否则对除111这个点之外剩下的图求连通分量,并记录每个连通分...
原创
248阅读
1评论
0点赞
发布博客于 2 年前

【Codeforces Round #544 (Div. 3)】 A.B.C.D.E.F1.F2.

前言这场由于大号都不算分,于是开新号打,开场还算顺利,但是由于D题的坑点较多,有点慌,导致E题也开始乱提交,最后没时间做F2。打div3打成这样是不应该的。biu-biubiu rating+=168rating+=168rating+=168 1500-&gt;1668A. Middle of the Contest题意输出两个时间的中间时间。做法由于两个时间在同一天,直接转换...
原创
721阅读
2评论
2点赞
发布博客于 2 年前

【 Educational Codeforces Round 61 (Rated for Div. 2) G. Greedy Subsequences】单调栈+dfs序+线段树

G. Greedy Subsequences题意给你一个长度为n的数组,对其中每个长度为k的连续子序列求这个子序列的最长贪心子序列最长子序列的定义为选定一个数作为第一个数,那么他右面离他最近而且比他大的数作为第二个数,以此类推直到不能再加数这样产生的序列被称为贪心子序列,选定每一个数作为起点,得到的最长的贪心子序列就是一个序列的最长贪心子序列。做法首先这道题一定是滑动窗口来做的。也就是...
原创
67阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 61 (Rated for Div. 2)】A.B.C.D.E.F.G

前言这场在最开始很顺利,A题6min1A,B题14min1A,但是由于C题过题人数太少一度认为这个C题很难,等有人过了才开始写最开始的想法,C题40min1A,过C之后发现F过的很多,去看提,发现和之前某场读错题意之后的题意一模一样,于是很快就写完,F题50min1A。 之后就开始被Google翻译坑炸,把no more than 翻译成可以超过,导致半小时看不懂D的题意在说啥,知道题意之后第一...
原创
117阅读
0评论
1点赞
发布博客于 2 年前

【Educational Codeforces Round 61 (Rated for Div. 2) C.Painting the Fence】前缀和

C.Painting the Fence题意给你nnn个线段,选出其中n−2n-2n−2条线段,让他们覆盖的线段最长。3≤n,q≤50003 \leq n,q \leq 50003≤n,q≤5000做法首先算出两个前缀和,第一个前缀和为到i为止被覆盖一次的线段有多少,第二个前缀和为到i为止被覆盖一次的线段有多少。之后暴力美剧要删除哪两条线段,我们首先在所有覆盖点中把这两条线段中被覆盖一...
原创
49阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 61 (Rated for Div. 2) D.Stressful Training】二分

D.Stressful Training题意有n台电脑,第i台初始电量为aia_iai​,每分钟消耗电量为bib_ibi​,现在要购买一个充电器,每分钟可以让一个电脑的电量增加XXX,比赛一共持续k分钟,充电器在一分钟之内只能给一个电脑充电,问能让所有学生成功完成比赛的最小的XXX(比赛中途不能出现电量小于000,如果恰好在最后一分钟电量为负,也算成功完成)。做法首先这个我们把这个kkk...
原创
119阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 61 (Rated for Div. 2) E. Knapsack】贪心+背包

E. Knapsack题意给你很多个物品,每个物品的重量为1,2,3,4,5,6,7,81,2,3,4,5,6,7,81,2,3,4,5,6,7,8,现在给出每个重量的物品的种数,问最后容量为W的背包最多装下多重的物品。1≤w≤10181 \leq w \leq 10^{18}1≤w≤10181≤cnti≤10161 \leq cnt_i \leq 10^{16}1≤cnti​≤1016...
原创
232阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 61 (Rated for Div. 2) F. Clear the String】区间DP

F. Clear the String题意给你一个长度为nnn的字符串,每次可以把一个全是同一个字符的子串删除,求让字符串为空的最小删除次数。做法首先这道题删除之后长度变化就不好做了,我们把删除改成变划,可以把一段连续的字符换成另一个字符,这样是不影响答案的,因为这等价于删除,这样我们就可以dpdpdp了。设dp[i][j]dp[i][j]dp[i][j]为将str[i,j]变成同一...
原创
204阅读
2评论
3点赞
发布博客于 2 年前

【Technocup 2017 - Elimination Round 1 E. Games on a CD 】枚举+Hash

题目链接http://codeforces.com/contest/727/problem/E题意给你一个长度为n×kn \times kn×k的环,环上每一个位置有一个字符。现在给你ggg个长度为kkk的字符串,问是否可以在ggg个字符串中找出kkk个构成这个环。做法由于单个字符串长度已经确定,只需要枚举第一个串在环中的下标即可。而且只需要枚举到kkk,因为枚举111和k+1k+1...
原创
236阅读
0评论
0点赞
发布博客于 2 年前

【牛客练习赛 41 B.666RPG】DP+滚动数组

B.666RPG题意有一个数字初值为0,n回合操作,每回合操作有两种,第一种操作将分数加上aia_iai​,第二种操作是将分数乘上-1.问有多少种操作方式在第n回合之后数字变为-666而且中间每一个回合之后分数都不是666。1≤N≤3001 \leq N \leq 3001≤N≤300−666≤ai≤666-666 \leq a_i \leq 666−666≤ai​≤666做法由于n...
原创
141阅读
0评论
0点赞
发布博客于 2 年前

【牛客练习赛 41 D.最小相似度】BFS

D.最小相似度题意定义两个位数相等的二进制串的相似度SIM(A,B)=二进制串中A⊕B中0的个数SIM\left( A,B \right) =\text{二进制串中}A\oplus B\text{中0的个数}SIM(A,B)=二进制串中A⊕B中0的个数给定NNN个长度为MMM的二进制串。现在的问题是找出一个额外的长度为MMM的二进制字符串使得max⁡{SIM(S1,T),SIM(S2,...
原创
85阅读
0评论
0点赞
发布博客于 2 年前

【牛客练习赛41 E.球的体积并】球的体积并模板

E.球的体积并题意求两个球的体积并做法用球缺公式+计算几何模板即可解决。球缺公式为:V=πh2(3r−h)3V=\frac{\pi h^2\left( 3r-h \right)}{3}V=3πh2(3r−h)​其中rrr是球的半径,hhh是球缺的高。代码#include&lt;stdio.h&gt;#include&lt;iostream&gt;#include&lt;alg...
原创
79阅读
0评论
0点赞
发布博客于 2 年前

【牛客练习赛41】 A.B.C.D.E

A.翻硬币问题题意n个硬币朝向正面,Alice每次选m枚反过来,bob可以在某次Alice操作之后反转一枚硬币,问最终Alice是否能赢。m为偶数。做法只要第一轮Alice赢不了,Bob就可以控制比赛的输赢。代码#include&lt;stdio.h&gt;int main(){ int t; scanf("%d",&amp;t); while(t--) ...
原创
300阅读
5评论
0点赞
发布博客于 2 年前

【Codeforces Round #538 (Div. 2) C. Trailing Loves (or L'oeufs?)】 分解质因数

C. Trailing Loves (or L’oeufs?)题意求n!n!n!在b进制下末尾有多少个0001≤10≤1018,2≤b≤10121 \leq 10 \leq 10^{18},2 \leq b \leq 10^{12}1≤10≤1018,2≤b≤1012做法这道题我们首先考虑101010进制,那就是看n!n!n!能够整除555多少次和整除222多少次。取个minminmi...
原创
101阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #538 (Div. 2) D. Flood Fill】区间DP

D. Flood Fill题意给你一个颜色序列,每个位置有一个颜色,选择一个起始位置,每次可以改变包含这个位置的颜色段,将这个颜色段修改为任意一个颜色, 问最少操作多少次。1≤n≤50001 \leq n \leq 50001≤n≤5000做法由于要求每次操作都要包含起始段,所以每次操作都应该是连续的,也就是如果我们现在改变(l,r),那么(l,r−1),(l+1,r),(l+1,r−...
原创
53阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #538 (Div. 2) E. Arithmetic Progression】二分+随机化+交互

E. Arithmetic Progression题意现在有一个长度为n的打乱的等差数列,你只知道长度,并且可以提出60个问题,让你确定这个等差序列的首项和公差。问题的格式分为两种:1:询问等差序列中是否有大于x的数2:询问等差序列中第i个数是什么1≤ai≤1091 \leq a_i \leq 10^91≤ai​≤109做法看到这个60,我们肯定知道要想log的算法,由于每个数都小...
原创
93阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #538 (Div. 2) F. Please, another Queries on Array?】欧拉函数+线段树+状压

F. Please, another Queries on Array?题意给你一个长度为n的序列,序列中第i个数为aia_iai​,1≤ai≤3001 \leq a_i \leq 3001≤ai​≤300之后有q次操作,每次操作有两种形式1:区间乘x,1≤x≤3001 \leq x \leq 3001≤x≤3002: 询问区间乘积的欧拉函数。1≤n≤4∗1051 \leq n \...
原创
128阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #538 (Div. 2)】A.B.C.D.E.F

前言好久之前打的这场比赛,刚刚打算补上题解,赛中由于读错D题题意导致崩盘,本来前期非常顺利但是D卡了一个半小时才知道题意读错了,赛后补过了DEF。lajiyuan rating−=32rating-=32rating−=32 2002-&amp;gt;1970A. Got Any Grapes?题意【模拟题】略过做法【模拟题】略过代码#include&amp;lt;stdio.h&amp;gt;i...
原创
400阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 60 (Rated for Div. 2) D. Magic Gems】 DP+矩阵快速幂

D. Magic Gems题意长度为n的01串0的个数是m的倍数,而且每m个0都是连续的方案数。1≤n≤10181 \leq n \leq 10^{18}1≤n≤10182≤m≤1002 \leq m \leq 1002≤m≤100做法可以看到n很大,我们首先想n很小的时候怎么做,我们用dp[i]表示长度为i的串的合法方案数,第i位放1的方案数为dp[i-1],第i位放0的方案数位d...
原创
99阅读
0评论
2点赞
发布博客于 2 年前

【 Educational Codeforces Round 60 (Rated for Div. 2) C. Magic Ship】二分

C. Magic Ship题意有一艘船,每个单位时间可以选择向U,D,L,R四个方向移动一个单位长度或者在原地不动并且船会被风向具有周期性的风往当前风的方向吹一个单位长度,现在给你船的起始位置和目标位置求船最少需要多少单位时间能到达目的地。做法答案满足二分性,因为如果我们已经到达,就可以一直与风反向行驶,保持船不动,所以具有二分性。我们只需要二分答案,并且O(n)进行check船是...
原创
51阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String】交互

E. Decypher the String题意就是给你一个长度为n的字符串的转换规则,规则是最多可以交换任意两个位置n次,得到新的字符串,现在给你一个转换之后的字符串,让你求原来的字符串。最多提问三次,每次提问你给出一个长度为n的字符串,交互会按照规则返回转换之后的字符串。1≤n≤1041 \leq n \leq 10^41≤n≤104做法这道题不考虑那个转换规则,我们只知道最后每...
原创
56阅读
0评论
1点赞
发布博客于 2 年前

【Educational Codeforces Round 60 (Rated for Div. 2)】 A.B.C.D.E

前言由于最近状态不好,所以怂的打小号,比赛还是很顺利的,A题3min1A,之后看B,8min1A,然后看C,发现二分一下就可以,之后写了5分钟写完,时间差不多15min,但是答案应该是r我输出的l,质疑了自己十分钟才找到这个bug,C题28min1A,之后看D,写了个n*m的组合数做法,发现想不到优化,之后想dp,得到递推式之后矩阵快速幂,整体还算顺利,只是码力这些天有些下降,75min1A.之...
原创
78阅读
1评论
1点赞
发布博客于 2 年前

【CCPC-Wannafly Winter Camp Day1 (Div2, onsite) 】

前言过年在家颓废很久之后终于开始嫌弃自己,开始认真了。开始开专题并且补完CAMP的题解。这是第一天的camp题解,赛中只做出BCFJ四个题。赛后补完:ABCEFIJ题解A.机器人题意wls管理的仓库分为ABABAB两个区,这两个区坐落在两条平行的直线上,每个区有nnn个站点,标号分别为1...n1...n1...n,agvagvagv从站点aaa到同仓库的站点bbb需要花费a...
原创
153阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #520 (Div. 2) F. Upgrading Cities】 拓扑排序

F. Upgrading Cities题意给你一个n个点m条边的DAG(有向无环图),问有多少个点的可到达的点数+可以被到达的点数&gt;=n-1做法由于是有向无环图,我们首先考虑拓扑排序,如果A能够到达B,那么A,B肯定不会同时出现在队列中,所以如果队列中同时存在的点超过两个,这些点肯定都是不能互相到达的,也就是说对答案肯定没有贡献,之后考虑如果队列中只有一个点,那么所有没进队的点肯定...
原创
233阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #532 (Div. 2) F. Ivan and Burgers】离线+线性基

F. Ivan and Burgers题意n个数,q次询问,每次询问一个区间内选出任意个数的异或最大值。1&amp;lt;=n&amp;lt;=5∗1051&amp;lt;=n&amp;lt;=5*10^51&lt;=n&lt;=5∗1051&amp;lt;=q&amp;lt;=5∗1051&amp;lt;=q&amp;lt;=5*10^51&lt;=q&lt;=5∗105做法考虑离...
原创
222阅读
0评论
0点赞
发布博客于 2 年前

【 Educational Codeforces Round 58 (Rated for Div. 2) F. Trucks and Cities】 DP+单调队列优化

题目链接F. Trucks and Cities题意有n个城市在x轴上,有m辆卡车,每辆卡车有四个属性,分别是起始城市s,终止城市f,每公里消耗燃料燃料消耗c,和可加油次数r。每次加油卡车油量加满,卡车的油量为V,所有卡车初始油量都是满的。求能让所有卡车从起点到达终点的最小油量V。2&amp;lt;=n&amp;lt;=400,1&amp;lt;=m&amp;lt;=2500002&amp...
原创
229阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #532 (Div. 2) E. Mahmoud and a xor trip】 二分+拓扑排序

E. Andrew and Taxi题意给你一个有边权的有向图,反转一条边的代价是这条边的边权,反转多个边的代价是所有反转边里面边权最大的那条边的边权,问让这个图不存在环的最小代价,以及被反转的边的编号。做法首先求最小代价,我们只需要二分这个代价,check就是看删除所有小于这个代价的边之后是否有环。输出边集,要用到拓扑排序的一个性质一个图进行拓扑排序后,对于每一个有向边u-&amp;amp;gt;...
原创
399阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #532 (Div. 2) D. Dasha and Chess】 思维+交互题

D. Dasha and Chess题意给你999*999的棋盘,上面有666个士兵和一个国王,你来操纵国王,checker来操纵士兵,最初国王所在行和列没有任何士兵,每次你可以向你八连通方向任意一个格子移动,而士兵可以从一个地方到任何一个没有棋子的地方,你获胜的条件是你挪动之后,你所在的行或列有一个或多个士兵,交互题,提供2000次操作之后必胜的方法。做法这道题一定要仔细思考数据范围,...
原创
325阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #532 (Div. 2) 】A.B.C.D.E.F

前言AB都是小数据暴力直接过,C题自己开始方向偏了,改改就过掉了。整体没有拉开差距的一场,第四题想出做法奈何已经太晚,由于写法过于暴力导致一系列的错误,debug到凌晨四点,这真的是最难受的,这场得到的教训是不要轻易放弃呀,赛后补DEF,都是可以做的,下次一定要多开题。biubiubiu_ rating+=7rating+=7rating+=7 1926-&gt;1933A. Roman...
原创
312阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 58 (Rated for Div. 2) G. (Zero XOR Subset)-less】前缀异或和+线性基

G. (Zero XOR Subset)-less题意题意就是给你一个长度为n的序列每个数的大小为a[i]要求把序列分为多个连续的段,保证分完之后,无论选取那些段相异或答案都不是0,问最多可以分为多少段。1&amp;lt;=n&amp;lt;=2∗1051&amp;lt;=n&amp;lt;=2*10^51&lt;=n&lt;=2∗1050&amp;lt;=ai&amp;lt;=109...
原创
267阅读
0评论
0点赞
发布博客于 2 年前

【Educational Codeforces Round 58 (Rated for Div. 2)】A.B.C.D.E.F.G

前言biubiubiu_ rating−=45rating-=45rating−=45 1967-&amp;amp;amp;gt;1922A. Minimum Integer题意给出q次询问,每次询问给出l,r,d,问不在[l,r][l,r][l,r]内的d的最小倍数是多少。做法1: l&amp;amp;amp;amp;gt;d−&amp;amp;amp;amp;gt;dl&amp;amp;amp;amp;gt;d -&amp;amp;amp;amp;
原创
212阅读
0评论
2点赞
发布博客于 2 年前

【Educational Codeforces Round 58 (Rated for Div. 2) D. GCD Counting】 分解质因子+树形DP

题目链接Educational Codeforces Round 58 (Rated for Div. 2) D. GCD Counting题意给你一个n个点的带权树,第i个点的权值为aia_iai​求一条树上最长的路径,满足路径上所有点权的gcd不为1。1&amp;amp;lt;=n&amp;amp;lt;=2∗1051&amp;amp;lt;=n&amp;amp;lt;=2*10^51&amp;lt;=n&amp;lt;=2∗105...
原创
592阅读
4评论
4点赞
发布博客于 2 年前

【Codeforces Round #531 (Div. 3) F. Elongated Matrix】状压DP

F. Elongated Matrix题意给你一个n行m列的矩阵,我们由第一行第一列出发,从上向下走完第一列,之后再从第二行第一列出发,重复这个过程直到所有的格子都走完,我们可以得到一个路径序列,定义k为序列中所有相邻两数值的差的绝对值的最小值,现在我们可以交换矩阵的每一行,问交换之后k最大是多少。1&amp;lt;=n&amp;lt;=161&amp;lt;=n&amp;lt;=161&...
原创
256阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #531 (Div. 3) E. Monotonic Renumeration】思维题

E. Monotonic Renumeration题意给你一个数组a,构造一个数组b,构造规则是:b1=0b_1=0b1​=0对于每一对1&amp;lt;=i,j&amp;lt;=n,如果ai=aj,那么bi=bj对于每一对1&amp;lt;=i,j&amp;lt;=n,如果a_i=a_j,那么b_i=b_j对于每一对1&lt;=i,j&lt;=n,如果ai​=aj​,那么bi​=bj​...
原创
361阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #531 (Div. 3) B. Array K-Coloring】暴力

B. Array K-Coloring题意给定n和k,1&amp;lt;=n,k&amp;lt;=50001&amp;lt;=n,k&amp;lt;=50001&lt;=n,k&lt;=5000,和n个数要求用k种颜色对n个数进行涂色,要求每种颜色至少出现过一次,而且同一种颜色不能对相同的数字涂色,求是否有合法的涂色方案。做法首先如果一个数字出现次数超过k,肯定没有合法的涂色方案如果...
原创
520阅读
0评论
0点赞
发布博客于 2 年前

【Codeforces Round #531 (Div. 3)】 A.B.C.D.E.F

前言由于两个号都不算分,所以开了一个小小号来打这场div3,开赛前和学弟开了一场vp,状态不好血崩,之后睡了一会洗把脸,状态大增,感觉特别清醒,之后就比较顺利的1A了5个题,还有一个小时的时间看F,看到数据范围只有16,不由自主地写了dfs,TLE On 13 ,之后还有半小时,想了一下就是建图找哈密顿回路,但是之前没写过这个经典的状压dp问题,遂GG。biubiubiu rating+=20...
原创
531阅读
0评论
0点赞
发布博客于 2 年前

【 Educational Codeforces Round 57 (Rated for Div. 2) D. Easy Problem】DP

D. Easy Problem题意给你一个长度为n的字符串,每个点有一个删除的代价,问让字符串中不存在子序列hard的最小删除代价。1&amp;lt;=n&amp;lt;=1051&amp;lt;=n&amp;lt;=10^51&lt;=n&lt;=105做法定义dp[i][0]为到i为止的序列中不存在h的最小代价dp[i][1]为到i为止的序列中不存在ha的最小代价dp[i][...
原创
329阅读
0评论
0点赞
发布博客于 3 年前

【Educational Codeforces Round 57 (Rated for Div. 2) F. Inversion Expectation】逆序对+计数

F. Inversion Expectation题意给你一个数组,有些位置是-1,代表可以填数,要求填数之后数组为一个1-n的排列,求所有满足条件的填数方案中的逆序数的期望个数。做法记一共n个数,其中m个未知,因此可能的排列结果有m!种我们分四种情况计数逆序对1.已知和已知:简单的逆序对计数,对于每种排列贡献相同,所以要乘m!,做法可以用归并排序或者树状数组2.未知和未知:考虑任意...
原创
185阅读
0评论
0点赞
发布博客于 3 年前

【 Educational Codeforces Round 57 (Rated for Div. 2)】A.B.C.D.F

前言开场前打的牛客,状态很好,感觉晚上稳了,开场五分钟前滴了眼药水,准备好演算纸和模板,还剩30s的时候生病的女朋友突然说睡不着,于是纠结了20s之后用小号注册比赛,决定娱乐着打。结果很显然,一个紫名狗打绿名号没上蓝,可见专注和不专注还是不一样的,赛后补过了D和F,都是挺有意思的题。D算是经典套路,但是F应该算是思维细节题。biu_biubiu rating+=1rating+=1rating...
原创
388阅读
0评论
0点赞
发布博客于 3 年前