集训队 题解2019 day

LOJ3405 「2020-2021 集训队作业」Gem Island 2

LOJ 传送门 组合计数神题。下文的 \(m\) 指原题面中的 \(d\),\(k\) 指原题面中的 \(r\)。 考虑最后每个人得到的宝石数量的序列 \(s_1, s_2, \ldots, s_n\),考虑这种方案的出现次数。首先要在 \(m\) 次操作中分别选 \(s_i - 1\) 次给第 \ ......
集训队 Island 3405 2020 2021

【题解】Trees and XOR Queries Again - Codeforces 1902F

https://codeforces.com/contest/1902/problem/F 方法一 可以从树上路径想到轻重链剖分(也可以用其他种类的LCA算法),然后从数的异或表示很容易想到线性基。 然后因为是无修改的,所以可以轻重链剖分+ST表+线性基。具体来说就是: 先进行轻重链剖分。然后把每次 ......
题解 Codeforces Queries Trees Again

[AGC061C] First Come First Serve 题解

题目链接 点击打开链接 题目解法 易知总情况数为 \(2^n\) 考虑重复计算的情况为:存在 \([l_i,r_i]\),满足没有 \([l_j,r_j](i\neq j)\) 选在此区间中 可以得到一个容斥的 \(dp\) 做法 这个转移虽然感觉很显然,但卡了我一个晚上,一直调不出 令 \(f_i ......
题解 First Serve 061C Come

CTT Day3

T1 忘了叫什么名字 对于一个排列 \(p\),定义它的权值为其有多少个子串是一个值域从 \(1\) 开始的排列。给定排列 \(p\),对于 \(1\le i\le j\le n\),定义 \(f(i,j)\) 为交换 \(p_i,p_j\) 之后排列的权值。有 \(Q\) 次询问,每次询问所有 \ ......
Day3 CTT Day

[CF1902] Educational Codeforces Round 159 A~E 题解

[CF1902] Educational Codeforces Round 159 A~E 题解 A. Binary Imbalance 很快观察到如果有不同的相邻元素,那么一定有解,意味着如果全是 1 无解,其他有解 B. Getting Points 题面很长,可以发现,最好的偷懒方式一定是把所 ......
题解 Educational Codeforces Round 1902

Day19 Java 流程控制01:用户交互Scanner

Java 流程控制01:用户交互Scanner Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互, 但是Java给我们提供了这样一个工具类:Scanner类,可以通过它来获取用户的输入 基本语法: Scanner scanner = new Scanner(System.in) ......
流程 Scanner 用户 Java Day

CF1833G Ksyusha and Chinchilla 题解

题意: 思路: 当 $ n \not \equiv 0 \space (mod \space 3) $ 时,无解; 当 $ n \equiv 0 \space (mod \space 3) $ 时,设 $ size_u $ 表示以 $ u $ 为根的子树还剩余的节点个数,自根节点向叶子节点递归,返回 ......
题解 Chinchilla Ksyusha 1833G 1833

day11 Jenkins Pipeline语法-Jenkins基于Gitlab的授权认证 (4.3.1-4.4)

一、Jenkins Pipeline语法上 Jenkins Pipeline 语法 Jenkins 有多种方式实现交付流水线。其中,Jenkins Pipeline 是一种比较流行的方式,它提供一个DSL(Domain Specific Language的缩写,)来描述交付流水线。 官网地址:htt ......
Jenkins 语法 Pipeline Gitlab day

CF1681D Required Length 题解

题意: 思路: $ BFS $ : 对于每一个数 $ x $ ,枚举其数位 $ num \space (0 \le num \le 9) $ ,将 $ x $ 与 $ num $ 的乘积 $ y $ 放入队列。重复该过程,直至 $ y $ 的位数与 $ n $ 相同。 剪枝: $ 1 $ . 对于重 ......
题解 Required Length 1681D 1681

CF1695C Zero Path 题解

题意: 思路: 设 $ minv $ 表示路径最小权值和, $ maxv $ 表示路径最大权值和。 当且仅当路径长度 $ n + m - 2 \equiv 0 \space (mod \space 2) $ 且 $ minv \le 0 \le maxv $ 时,一定有权值和为 $ 0 $ 的路径; ......
题解 1695C 1695 Zero Path

[ARC120E] 1D Party 题解

提供二分+DP做法。 Solution 题意 给出 \(n(\le 2\times 10^5)\) 个单调递增偶整数 \(a_i\),求最小的 \(k\) 满足每一个 \(i\) 都可以在 \(k\) 时刻之前(含)与相邻的数相遇。每个单位时间可以移动一个单位距离。 思路 启发式思考 在想到正解之前 ......
题解 Party 120E ARC 120

CF1163B2 Cat Party (Hard Edition) 题解

题意: 思路: 对于满足条件的区间 $ [1,x] $ ,有如下三种情况: $ 1 $ . 所有元素出现次数都为 $ 1 $ ; $ 2 $ . 除了一个元素出现次数为 $ 1 $ 之外,其余元素出现次数都相等; $ 3 $ . 除了一个出现次数比其他数的出现次数多 $ 1 $ 的元素之外,其余元素 ......
题解 Edition 1163B Party 1163

CF1198B Welfare State 题解

题意: 有一个长度为 $ n $ 的序列 $ a $ ,给定 $ q $ 次操作,每次操作为以下两种之一: $ 1 $ . $ 1 $ $ p $ $ x $: $ a_p = x $ $ 2 $ . $ 2 $ $ x $: $ a_i $ $ = $ $ max $$($$ a_i $ ,$ x ......
题解 Welfare 1198B State 1198

ABC331G 题解

盒子里有 \(n\) 张 \(m\) 种卡片,第 \(i\) 种卡片有 \(c_i\) 张。\(\sum c_i=n\)。 每次均匀随机选一张,再放回去。求拿出过的卡片包含全部种类所需要的取出次数的期望。 对 \(998244353\) 取模。 \(1\leq n,m\leq 2e5,c_i\gt0 ......
题解 331G ABC 331

CF1442D Sum 题解

题目链接 点击打开链接 题目解法 \(n^3\) 的 \(dp\) 是显然的 但我们没用到 \(a\) 不降的性质 考虑一个很妙的结论:最优选法中,至多只有一个序列取了且未取满 为什么? 如果最优情况下,存在选且未选满的序列为 \(a,b\),第一个未选的元素为 \(x,y\) 如果 \(a_x>a ......
题解 1442D 1442 Sum CF

洛谷 P1044 [NOIP2003 普及组] 栈 题解

洛谷 P1044 [NOIP2003 普及组] 栈 题解 Sol 本题通过分析可得: 假设现在进行 \(12\) 次操作,我们把 push 认为是在地图上向右走,pop 向上走,那么其中一个合法的步骤可以是(\(p1\) 代表 push,\(p2\) 代表 pop):\(p1, p1, p2, p1 ......
题解 P1044 1044 NOIP 2003

CF1692G 2^Sort 题解

题意: 思路: 必要性: 对于任意一个符合条件的区间[l,r],任意相邻两项,满足a_i < 2 * a_{i + 1}(l \le i \le r - 1)。 充分性: 对于任意一个长度为k + 1的区间[l,r],如果任意相邻两项满足a_i < 2 * a_{i + 1}(l \le i \le ......
题解 1692G 1692 Sort CF

Day16 内部类

1. 内部类的含义 内部类就是在一个类的内部再定义一个类。比如A类中定义了一个类B,那么 B就是A 的内部类,A是B的外部类 class A{//外部类 class B{//内部类 } } 内部类可以分为: 成员内部类 静态内部类 局部内部类 匿名内部类 默认: 如果声明内部类时不使用任何修饰符,那 ......
Day 16

Day17 异常与日志

1. 异常的概述 在编程中,我们经常遇到各种不可预见的问题,例如:文件找不到、网络连接失败、数组越界等。这些问题我们通常称之为“异常”(Exception)。 java 把异常当作对象来处理,并定义了一个基类 java.lang.Throwable作为所有异常的超类。 java.lang.Throw ......
日志 Day 17

Day11 类对象

1. 静态方法与非静态方法的区别 静态方法在定义类的时候就随着类装载到了内存中,不会自动销毁,直到关闭 jvm 非静态方法只有实例化对象的时候才会分配内存,与实例化对象共存。 public class Demo01 { //静态方法 修饰符 static public static void use ......
对象 Day 11

Day13 继承知识点综合

1.继承 java 只有单继承 关键字:extends class A{}//父类 class B extends class A{}//子类B继承了A类 2.继承权限 相较于C++ 的public,protected, private,java对不写继承的default的定义不一样: c++ de ......
知识点 知识 Day 13

Day14 多态知识点综合

1.方法重写的定义 重载(overload)是在同一个类中的具有多个相同方法名,参数列表不同(的方法(返回类型可以不同),构造方法、普通方法、抽象方法都可以重载;重写(override)是在子类继承父类的时候重写,可以用@Override检查是否是重写方法,方法重载是一个类的多态性的表现,而方法重写 ......
知识点 知识 Day 14

Day15 抽象类与接口

1.抽象类格式 关键字: abstract 1.1抽象类: abstract class 类名{} public abstract class ClassName{ int a; public abstract void fun(); } 除非该继承的子类也是抽象类,否则继承了抽象类的所有类都要重写 ......
接口 Day 15

Day12 jvm 内存模型JMM

1. jvm 内存模型 JMM 原帖链接 JMM控制 Java 线程之间的通信,决定一个线程对共享变量的写入何时对另一个线程可见。 每条线程在自己的工作内存中对共享变量(副本)进行操作,JMM再负责把这些操作同步到主内存中 JVM1.8 用Meta space(元空间)(在JVM外的本地内存中)取代 ......
模型 内存 Day jvm JMM

机试题目-day4(每日一写)

快排思想 int position(int * num,int left,int right) { int temp=num[left];//选出中值 while(left<right){ while(left<right&&num[right]>=temp)//从右开始,如果不符合指针一直向左 r ......
题目 day4 day

Day10 数组

1. 数组声明 //方法一:首选 dataType[] arrayName; //方法二:非首选,像c++ dataType arrayName[]; 2. 数组创建 2.1 动态初始化 //不初始化,大小自行决定 dataType[] array = new dataType[arraySize] ......
数组 Day 10

Day07 包机制和JavaDoc文件生成

1. 包机制 1.1 语法格式 package pkg1[.pkg2[.pkg3...]]; 注意: ​ 此句必须放在文件最开始位置 1.2 提倡的命名格式 一般利用公司的域名倒置作为包名 如 www.baidu.com 其包名就推荐命名为 com.baidu.www 1.3 引用包 import ......
机制 JavaDoc 文件 Day 07

Day08 逻辑结构(switch和增强for)

1. 知识点 if ,switch, for, while等等和 C++、js等相似,需要注意以下几点: 1.1 有关switch switch 中的 case value: value 类型可以是 byte , short, int, char。 value 类型:string 类型是JDK7才开 ......
逻辑 结构 switch Day for

Day09 方法知识点综合(求值策略与可变参数)

1. 求值策略 编程语言中方法之间进行参数传递时有个传递策略,该策略就被称为求值策略(Evaluation strategies)。求值策略分为两大基本类型,如果按照如何处理传递给方法的实际参数,分为严格的和非严格的两种求值策略。 1.1 严格求值策略 传值调用(Call by value) 将实参 ......
知识点 策略 参数 方法 知识

CF1901 C Add, Divide and Floor 题解

Link CF1901 C Add, Divide and Floor Question 给定一个长度为 \(n\) 的序列,每次操作你需要选择一个整数 \(x\) ,并将所有 \(a_i\) 替换为 \(\lfloor \frac{a_i+x}{2} \rfloor\) 。求至少多少次操作后能将所 ......
题解 Divide Floor 1901 Add