题解minimum 1887c array
P1980题解
自定义函数 定义一个自定义函数find_num用来记录数字x在该数里的个数。 int find_num(int n,int m){ int cnt=0; while(n!=0){ if(n%10=m){ cnt++; } n/=10; } return cnt; } 思路 1.定义及输入截止数/含有 ......
P1923题解
博文T3航站楼 ✈ P1923【深基9.例4】求第 k 小的数 预先准备 排序用函数 sort,不会用着参看文章sort用法 头文件 #include<algorithm> 及一个数组 a[5000005] 为了保证输入效率,我们用 scanf 进行输入。不会者可参看文章scanf用法 思路 1.定 ......
P1271题解
博文T4航站楼 ✈ P1271【深基9.例1】选举学生会 预先准备 本题需要用到排序函数 sort,不会者参看文章sort用法 头文件 #include<algorithm> 还需用到一个数组 a[2000005] 思路 1.定义及输入 n,m :选举人数/投票人数 int n,m; cin>>n> ......
P5015题解
博文T2航站楼 ✈ P5015标题统计 数组及变量准备 变量 string n 输入的标题 int cnt=0 计数器 预先准备 getline函数: 可用于输入带空格的字符串,格式如下 getline(cin,字符串名,结束字符); 思路 getline输入字符串\(n\) getline(cin ......
1.9模拟赛 T3题解
简要题意 求一个抽象函数,满足 \(∀𝑥 ∈ ℤ, 𝑓(𝑥) + 𝐶 = 𝑓(2𝑓(𝑥) − 𝑥 + 1)\),给定 \(n\) 个点,使得 \(\sum |f(x_i)-y_i|\) 最小,输出最小值 思路 对这个函数进行一次迭代,可以得到 \(f(x+2C)=f(x)+2C\) ......
CF1886E I Wanna be the Team Leader 题解
Problem - E - Codeforces I Wanna be the Team Leader - 洛谷 差一点就想到了/ll 遇到困难?排序肯定不会变差! 性质:每个项目分配的程序员肯定是一段(显然) \(m\) 很小?考虑设 \(dp_{i,S}\) 表示考虑前 \(i\) 个人选项目集 ......
CF1886D Monocarp and the Set 题解
Monocarp and the Set - 洛谷 Problem - D - Codeforces 非常之降智 加入一个数让他满足他是最大值需要判断前面加入的那些数中最大的是哪个,但删除一个数让他满足是最大值只需要直接把他删掉即可 因此我们要反着考虑这个问题: 如果当前是 <,则删除最小的数,有一 ......
3 Matching Arrays
n的范围有2e5,暴力找肯定不行。将这题时间复杂度打下来的关键在于贪心 贪心的点在于局部最优,尽可能的将b里相对大的分给a里相对小的,一共分k个这样的。最后再检查一下,如果不满足就是-1 #include<bits/stdc++.h> using namespace std; const int N ......
【题解】LibreOJ 3089 「BJOI2019」奥术神杖
先考虑这个权值 \(\sqrt[c]{\prod\limits_{i = 1}^c V_i}\)。 感觉找不到好的方法算出精确值,但是能发现只用比大小。 于是考虑取个对数成 \(\frac{1}{c}\times \ln(\prod\limits_{i = 1}^c V_i) = \frac{1}{ ......
[AGC004F]Namori题解
简要题意 略 思路 先考虑树的的情况,直接黑白染色,统计子树和的绝对值即可 再考虑奇环,发现这时会有两个同色相邻点,只需把多余的操作,在这两个点处理掉即可 最后考虑偶环,先断掉一条边,最后再考虑这条边的贡献,推一下柿子,就变成了初中数学题,取中位数即可 code #include<bits/stdc ......
[Noi Online #1 入门组] 跑步 题解
[Noi Online #1 入门组] 跑步 \(m = \sqrt{n}+1\) 对于大于 \(m\) 的数,采用另外一种方式 \(x > m\) --> 其数量 \(< m\) 记 \(g[i][j]\) 表示用了 \(i\) 个大于等于 \(m\) 的数 和为 \(j\) 的方案数 初始状态 ......
HDU1823 Luck and Love 题解
Question Luck and Love 小 \(w\) 征婚,收到很多女生报名,小 \(w\) 想找到最有缘分的女生,有 \(t\) 组操作 I H A L,\(H\) 表示身高,\(A\) 表示活泼度,\(L\) 表示好感度 Q H1 H2 A1 A2 表示身高和活泼度的范围,需要在这个范围 ......
P5309 [Ynoi2011] 初始化 题解
题目链接:初始化 这种 ynoi 的老题就是卡常。来简单说说这题的思维切入口。 看到形如 \(y+k \times x\) 的结构,自然而然思考一下如果我们是暴力更新会有怎么样的效果。我们容易发现,如果 \(x\) 比较大,暴力更新的次数 \(\dfrac{n}{x}\) 也不会很大的,但 \(x\ ......
洛谷P1250 种树 题解 差分约束求最小解集
题目链接:https://www.luogu.com.cn/problem/P1250 题目大意:略 解题思路:差分约束 求 最长路。 关于为什么求最长路可以看一下这边博客:《关于差分约束系统中跑最长路还是最短路的澄清》 博客的核心思想就是一句话: 要想求最小解集跑最长路;要想求最大解集跑最短路。 ......
常用容器:动态数组array、列表list、队列 queue、map或字典、 集合、栈等等
一般语言都会提供一些逻辑容器的实现,各个语言的实现方式不同;底层的数学算法应该差不多; # 动态数组, 这个没啥可说的,就是一个数组,满了时候,再创建一个数组,把之前的数组里的数据移过来,销毁之前数组; ......
JavaImprove--Lesson05--Arrays,对象排序,Lambda表达式,方法引用简化Lambda表达式
一.Arrays 用来操作数组的一个工具类 在Java中,没有内置的"Arrays工具类",但有一个名为java.util.Arrays的类,它包含了一些用于操作数组的静态方法。这个类主要用于数组的排序、搜索和复制 toString(类型[] arr):打印数组中的内容 int[] arr={20, ......
POJ3667 Hotel 题解
Question POJ3667 Hotel 旅店有 \(n\) 间连续的房间,操作有两种 D 入住,查询数量为 \(D\) 的连续房间,并且要最靠左,若能找到,则返回这个区间的左端点并占用这些房间,找不到则返回 \(0\) X D 退房,从房间 \(X\) 开始,退出连续长度为 \(D\) 的房间 ......
HDU1540 Tunnel Warfare 题解
Question HDU1540 Tunnel Warfare 在一条线上有 \(n\) 个村庄,两个相邻的村庄之间用地道连接,做 \(m\) 次操作 D x 第 \(x\) 个村庄被摧毁,它的地道也一同被摧毁 Q x 查询第 \(x\) 个村庄所能到达的村庄总数(包括村庄 \(x\)) R 重建刚 ......
1.8模拟赛 T2题解
简要题意 略 思路 先考虑啥样的 \(T\) 可能合法,就大概类似于一个一边删除,一边加入的操作,如果能删空,那就合法 但这样的 \(T\) ,不一定能作为答案,只有能将多余的数删除时才合法 那就用同样的策略,判断是否合法即可 接着考虑 \(T\) 的方案数咋求,设 \(dp_{i,j,k}\) , ......
1.8模拟赛 T1题解
简要题意 给定一棵有根树,操作分别为:将某个点到根路径上全部点颜色改为 \(c\);询问某个点到根路径上不同颜色数。 \(n\le10^5\) 思路 考虑对修改根号重构,那对于某次询问的路径,实际上就是前面有至多 \(\sqrt m\) 个相同颜色段,再拼上后面一段树上的颜色,也就是和修改中点的最深 ......
【题解】Codeforces 1876G Clubstep
首先考虑暴力的贪心。 从 \(r\) 到 \(l\) 依次遍历,若 \(a_i < x\) 则一直进行题目中的操作。 正确性是能保证的,因为选后面的 \(j\) 只能 \(+ 1\),而选 \(i\) 可以 \(+2\),且 \(i\) 前面的部分都是 \(+1\)。 考虑转化一下,把对 \(i\) ......
【题解】Codeforces 1852D Miriany and Matchstick
首先考虑到第一行是固定的,先去掉第一行的贡献。 接下来会有一个 \(O(n^2)\) 的 \(\text{DP}\)。 考虑设 \(f_{i, 0 / 1, j}\) 为考虑了 \(1\sim i\) 列的放置,第 \(i\) 列填 \(\text{A / B}\) 且对数为 \(j\) 是否可行。 ......
题解 P10055【[CCO2022] Rainy Markets】
首先尽量把所有人放在左边的车站,然后再尽量放在右边的车站,求出此时 \(i\) 位置车站有多少空位留给 \(i+0.5\) 位置的人,记为 \(f_i\)。也就是: \[f_i\gets\max\{b_i-\max\{p_{i-1}-f_{i-1},0\},0\} \]然后从右向左贪心。对于第 \( ......
P10033 题解
不喜欢特判?不喜欢分讨?不喜欢被卡 corner?不喜欢证明?不喜欢动脑子? 那就看这篇题解! 感性思路 首先感性地感受一下题目宽泛的限制条件题解区各种花式的构造方法就不难想出,符合条件的序列实在很多,那不是随便构造?但是随便上随机化还是很容易被卡而且常数太大,又不想写屎山分讨被 corner 卡到 ......
Hive 复杂数据类型Array,Map,Struct
建表语句,支持嵌套 CREATE TABLE parquet_test ( id int, str string, mp MAP<STRING,STRING>, lst ARRAY<STRING>, strct STRUCT<A:STRING,B:STRING>) PARTITIONED BY (p ......
Hive Array数据处理
建表 CREATE TABLE IF NOT EXISTS default.array_test( id String COMMENT 'id', name Array<String> COMMENT '名称' ) COMMENT 'array测试' ROW FORMAT DELIMITED FIE ......
P4149 [IOI2011] Race 题解
题目链接:Race 点分治基本题,从这题简单阐述点分治如何思考问题的。点分治常见的解决一类问题,就是树里面的一些路径类问题。比如一些计数是最常见的。 点分治的一个核心计数思想: 如图所见,对于某个点而言,我们将它作为根,那么它的子树并排地排起来,我们依次遍历每棵树并累计树。 我们容易知道,包括这个点 ......
[LeetCode] 1979. Find Greatest Common Divisor of Array
Given an integer array nums, return the greatest common divisor of the smallest number and largest number in nums. The greatest common divisor of two ......