acwing 116

AcWing 蓝桥杯 3994. 阿坤老师的独特瓷器 (非常经典俄罗斯套娃问题

package 蓝桥杯; import java.util.Arrays; import java.util.Scanner; public class lanqiao3994 { /** * 思路 : * 固定套路了感觉, 先按直径从大到小排, 然后直径相同的再按高度从小到大排 * 然后从前往后遍 ......
蓝桥 瓷器 老师 经典 AcWing

AcWing 920. 最优乘车 (抽象建图 + bfs

package 算法提高课; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class acw920 { /** * 本题的 ......
AcWing 920 bfs

AcWing 1126. 最小花费 (从终点方向求的dij -> 注意本题这么求就必须判断两点之间是否有边

package 算法提高课; import java.util.Arrays; import java.util.Scanner; public class acw1126 { static int n, m; static int[][] g; static double[] d; static ......
本题 终点 方向 之间 AcWing

AcWing 903. 昂贵的聘礼 (超级源点 + 等级限制 + 抽象建图

package 算法提高课; import java.util.Arrays; import java.util.Scanner; public class acw903 { static int m, n; static int[] dis, level; static boolean[] st; ......
聘礼 等级 AcWing 903

AcWing 180. 排书 (IDA*算法 = A* + 迭代加深, 感觉其实之所以IDA*可以过就是因为利用迭代加深和估价函数做了一步类似于剪枝的操作

要是有疑问就再看一遍视频 package 算法提高课; import java.util.Arrays; import java.util.Scanner; public class acw180 { static Scanner sc = new Scanner(System.in); stati ......
算法 函数 IDA 之所以 感觉

对acwing193的解释

首先是估价函数的解释 由于\(x\)较大,所以\(x\)一直平方是最快的能到达\(p\)及以上的方法,所以这个估价函数比实际代价小(或等) 再看\(gcd\)这个剪枝 把八种情况列出,如果\(x\)和\(y\)都是\(gcd=d\)的倍数,那么加减或翻倍之后的新的\(x\)和\(y\)一定也是\(d ......
acwing 193

acwing 第 130 场周赛  (前缀和,dfs,对不同边的处理)

#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<climits> using namespace std; typedef long long LL; const int N = 5 ......
前缀 acwing 130 160 dfs

AcWing 算法基础课week 1 总结(万字长文)

AcWing 算法基础课week 1 总结 总结点 1:快速排序(分治思想) 题1:从小到大排序 主体思路:定义一个数x属于数组s,利用双指针,将数组分为大于等于x和小于等于x的两部分,然后递归处理。(具体步骤如下) 1. 如上图所示,我们定义一个数组s用来储存n个数据,然后定义两个指针i j,分别 ......
长文 基础课 算法 基础 AcWing

AcWing 768. 忽略大小写比较字符串大小

题目链接: #include <iostream> using namespace std; string get(string s) { string res; for (auto c : s) res += tolower(c); return res; } int main() { strin ......
大小 字符串 字符 AcWing 768

Acwing.第130场周赛

Acwing.第130场周赛 比赛链接 A.最大数和最小数 题目链接 思路: 简单模拟,使用max()和min()函数就可以了 代码: #include<bits/stdc++.h> using namespace std; void solve(){ int a,b,c; cin>>a>>b>>c ......
Acwing 130

AcWing 1017. 怪盗基德的滑翔翼——最长上升子序列

最长上升子序列 1、\(O(n^{2})\) 简单DP做法 \[dp[i]=\max_{h[j] < h[i]} [dp[j] + 1] \]#include<bits/stdc++.h> using namespace std; const int N = 105; int h[N]; int d ......
序列 AcWing 1017

acwing276机器任务的证明

假设我们已经给每一个任务分配了一种模式了 那么相同模式的任务排在一起的时候肯定重启次数最小 对涉及到的模式,我们还原回二分图上 就是在二分图上尽量选择少的节点(一种模式代表一次重启次数,因为相同模式都是放在一起的),使每一个任务都可以被安排 就可以转换为最小点覆盖问题 ......
机器 任务 acwing 276

acwing374导弹防御塔分析

二分是怎么想到的? 我们假设已经找到了最终的方案,那么每一座防御塔都被分到了一些敌人去攻击 那么这个方案的时间是多少呢?就是每个防御塔的时间的最大值 每个防御塔的时间是他所分配的这些敌人里面所需要花费最长的时间去攻击的敌人的时间 相当于最大值最小,所以想到二分 acwing上的打卡代码换了一种实现方 ......
导弹 acwing 374

AcWing785

AcWing785. 快速排序 一、题目描述 给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。 输出格式 ......
AcWing 785

ACwing 334 K匿名序列

首先这道题很容易发现如果已经知道了最后的答案序列,那么操作顺序是无所谓的 所以我们可以假设从头操作到尾 由于题目给的是非严格递增序列,我们猜想最后的答案一定是一段一段的,段与段之间单调递增 比如1 1 1 2 2 2 2 2 3 3 4 5 5 反证:如果最终的答案序列存在\(a_{i}\)和\(a ......
序列 ACwing 334

Acwing.第 129 场周赛

Acwing.第 129 场周赛 比赛地址 A.字符串 题目 思路: 只需要用到reverse()反转函数就可以 代码: #include<bits/stdc++.h> using namespace std; void solve(){ string s; cin>>s; reverse(s.be ......
Acwing 129

AcWing785

AcWing785. 快速排序 一、题目描述 给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。 输出格式 ......
AcWing 785

AcWing785

AcWing785. 快速排序 一、题目描述 给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。 输出格式 ......
AcWing 785

【杂题乱写】AtCoder-ARC116

AtCoder-ARC116_C Multiple Sequences 朴素 DP 是设 \(f_{i,j}\) 表示第 \(i\) 个位置填 \(j\) 的方案数,时间复杂度 \(O(n^2\log V)\)。 考虑求出元素都不同序列个数,再根据长度乘组合数,这样长度是 \(O(\log V)\) ......
AtCoder-ARC AtCoder ARC 116

快速排序——acwing算法基础课笔记

课堂内容+个人思考,个人笔记,但是欢迎补充、批评、指正。 快速排序基于分治的思想 平均时间复杂度O(nlogn) 已知数组q[] 步骤: 1、确定分界点(x): (1)首元素q[l]; (2)尾元素q[r]; (3)中值q[(l+r)/2]; (4)随机; 2、调整区间 将区间通过x值划分为两部分( ......
基础课 算法 基础 笔记 acwing

Acwing.第128场周赛

Acwing.第128场周赛 比赛地址 A长方体 题目 思路: 知道长方体的体积计算公式即可,就是一个比较简单的模拟 代码: #include<bits/stdc++.h> using namespace std; void solve(){ int a,b,c; cin>>a>>b>>c; cou ......
Acwing 128

acwing300任务安排1对“费用提前计算”的解释

我们考查对任意一种方案答案的构成 假设最终方案只有这三段 那么很显然,答案为$$(S+sumT_[i])\cdot sumC_{i}+(2S+sumT_[j])\cdot (sumC_{j}-sumC_{i})+(3S+sumT_[n])\cdot (sumC_{n}-sumC_{j})$$ 我们换 ......
费用 任务 acwing 300

归并排序 Acwing 787

归并排序最重要的一部便是归并,我们的模板顺序为: 定义一个中间值,将我们的区间范围一分为二,我们将 这两部分看成两个数组,我们分别将这两个数组进行归并 排序,并且定义一个新的数组,将这两个数组排序好后导入 到这个新数组中,并最后将这个定义的数组输出为原数组,即可 实现归并排序。 1 #include ......
Acwing 787

二分模板 Acwing 789 数的范围

二分一定有解,若出现无解,一定是题目中无解二分步骤:定义check函数,先找到一个x,使得区间左边满足条件区间右边不满足条件, 定义mid = l + r >> 1去判断于x的关系,此时需要判断边界关系,例如当a[mid]小于x时,说明二分值在x的左边,此时缩小范围为【mid,r】, 即令 l = ......
范围 模板 Acwing 789

Docker_报错:Host key for 47.116.79.175 has changed and you have requested strict checking. Host key verification failed.

Host key for 47.116.79.175 has changed and you have requested strict checking. Host key verification failed. 问题原因用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public ......
Host verification key requested checking

AcWing 3559. 围圈报数

考点:约瑟夫环问题,环形链表,队列 #include <bits/stdc++.h> using namespace std; const int N = 55; int ne[N];//链表指针数组 int main() { ios::sync_with_stdio(false), cin.tie ......
AcWing 3559

Acwing127周赛第三题 构造矩阵 (套路)

题目链接:构造矩阵 题目描述 我们希望构造一个 n×m 的整数矩阵。 构造出的矩阵需满足: 每一行上的所有元素之积均等于 k。 每一列上的所有元素之积均等于 k。 保证 k 为 1 或 −1。 请你计算,一共可以构成出多少种不同的满足条件的矩阵。 由于结果可能很大,你只需要输出对 109+7 取模后 ......
套路 矩阵 Acwing 127

第 116 场双周赛(双指针,背包问题,线段树+lz标记)

本题为双指针和贪心。当我们遇到奇数个0或1时,直接将下一位改变即可。 class Solution { public: int minChanges(string s) { int n = s.size(); int res = 0; int l = 0, r = -1; while(r ++ < ......
线段 指针 背包 标记 问题

第 116 场双周赛

不知道为什么今天晚上脑子里想的全是递归 说实话 四道题看了都不是很有思路 也不是没有思路吧 而是知道怎么做 但是感觉写不出来 而且莫名其妙想的全是递归的解法 可能是因为浏览量最高的那篇文章也是递归 22:43-23:10 差不多30min写了两道题 第一题(22:58AC) 100094. 子数组不 ......
116

Acwing.第126场周赛

Acwing.第126场周赛 比赛链接 之前忘记整理上传了,不能有遗留问题 A.蜗牛爬井 蜗牛在 n米深的井底往上爬,每天清晨到傍晚向上爬 5米,夜间又滑下来 4米,请问像这样从某天清晨开始,第几天爬到井口? 输入格式 一个正整数 n。 输出格式 一个整数,表示爬到井口的天数。 思路: 就是一个比较 ......
Acwing 126