shicj's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 资料库
  • 应用
    音乐 文件加解密 Markdown编辑器 Markdown转换
shicj's blog

CF1638D Big Brush 题解

正难则反,倒序操作,操作的一定是四个同色格子(或者其中有已经完成操作的点,其他同色),可以从此入手进行 DFS。 遍历每一个点,对其进行 DFS,首先检查是否已经完成处理(被标记为 000)、越界或者不符合条件(有杂颜色),如果没有问题,标记这四个格子(改为 000),对其四周的格子进行搜索,具体的,分别是以下 888 个点: 1234dfs(x-1,y);dfs(x-1,y+1);dfs(x+2
2025-03-06
题解
#题解

CF2062E1 The Game (Easy Version) 题解

如果存在 uuu 不在 vvv 的子树内且 wu>wvw_u>w_vwu​>wv​,则最大的 vvv 一定是可行的点。 此时,选择了这个点后,对方将无法选出一个点使得消除后剩下的点大于选择的点,因此可行。如果选择不出这样一个点,则无解。 首先想到枚举 vvv,并要求在 O(log⁡n)O(\log n)O(logn) 时间内完成判断。看到这个时间复杂度以及最大值,我想到的是线段树
2025-02-12
题解
#题解

SuperHacker

关于 SuperHacker 当前版本:V1.0 Github Project Link Super Hacker 是一个用于 Codeforces 中同时对多个人进行自动 Hack 的工具,原理是使用类似对拍的方法,随机生成数据后用各个程序运行得出结果,再将程序运行结果进行两两比对,如果不相同,那么其中至少有一个程序被成功 Hack。 Super Hacker 也可以用于对拍,目前虽没有专门
2025-02-10
#项目

树状数组模板

Function Content init() 清空BIT add(pos) 将1~pos位置加1 add(pos,val) 将1~pos位置加val query(pos) 查询pos位置 1234567891011121314151617181920struct BIT{ int t[2000006],tot; void init(){
2025-02-09
#算法

CF1970D2 Arithmancy (Medium) 题解

Upd:可以使用 AtCoder Lib 打表,可以在几秒内得到结果,详见文章末尾。 打表做法(~可能~不太具有普遍性,但确实可以)~114514114514114514 是一个很好的随机种子~。 首先,做一个非常简单的优化:为了使拼接后的子串种类不重复,可以构造使得其中一种符号远少于另一种,减少打表的次数(我的程序里控制比例为一比十)。 除此之外,其他所有内容都使用了暴力做法,求值函数为 O(n
2025-02-08
题解
#题解

OI模板汇总

上一版的算法名称不能识别到目录,不好找,于是有了这一版本 数学算法 求解GCD 123int gcd(int x,int y) { return y?gcd(y,x%y):x;} 快速幂 1234567891011int qpow(int a,int b,int mod) { int tmp=a,ans=1; while(b){
2025-02-01
#算法

高中数学笔记-10-解析几何

十、解析几何 1. 直线 直线的倾斜角和斜率 当 lll 与 xxx 轴相交时,xxx 轴正方向与 lll 向上的方向之间所成的角 α\alphaα 称为直线的倾斜角,倾斜角 α\alphaα 满足 0°≤α≤180°0\degree\le\alpha\le180\degree0°≤α≤180°。(任何直线都有倾斜角) 倾斜角 α\alphaα 的正切值叫做这条直线的斜率,常用 kkk
2025-01-25
高中数学
#高中数学

CF2045M Mirror Maze 题解

面对这样小的数据范围,为什么要写搜索?于是我来写一个纯粹的模拟。这题不至于评绿吧? 大致的思路就是枚举每一个可能的入射方向,暴力模拟光的传播过程,并在这个过程中记录经过的镜面,进行判断。 我认为这题唯一复杂的地方在于对光的反射方向的处理,有一些题解中用了分类讨论,这明显太复杂了,于是可以使用映射来进行记录,方法如下: 为了方便论述,这里先定义以下的方向编号: 12int dx[4]={
2025-01-22
题解
#题解

CF2060C Game of Mathletes 题解

每一轮,Alice 先取数,Bob 后取,当两人所取的和为 kkk 时,加一分,Alice 希望的分最小,Bob 希望最大,两人按最优方式操作,求最终得分。 当两个数的和等于 kkk 时,这一对数就是可得分的,可以发现,Alice 的取数方法与结果无关,而对于 Alice 的数,当这个数可得分时,Bob 会取出对应的一个数使之得分,否则 Bob 则取出一个不可得分的数,没有得分。 于是,答案就是可
2025-01-21
题解
#题解

CF2057D Gifts Order 题解

0x00 题目翻译 一个长度为 nnn 的序列,求出对于所有 1≤l≤r≤n1\le l\le r\le n1≤l≤r≤n, max⁡(al,al+1,…,ar)−min⁡(al,al+1,…,ar)−(r−l)\max (a_l, a_{l + 1}, \ldots, a_r) - \min (a_l, a_{l + 1}, \ldots, a_r) - (r - l) max(al​,al+1
2025-01-16
题解
#题解
12345…7

搜索

shicj's blog
1755887190@qq.com
Hexo Fluid
萌ICP备20260927号