板子 热浪acwing 1129

AcWing 90. 64位整数乘法 (龟速乘

package 算法提高课; import java.math.BigInteger; import java.util.Scanner; public class acw90 { public static void main(String[] args) { Scanner sc = new S ......
乘法 整数 AcWing 90

AcWing 166. 数独 (优化搜索顺序 + 进制压缩 + 各种映射 + 好复杂的实现

package 算法提高课; import java.util.Scanner; public class acw166 { static StringBuilder str; static final int N = 9, M = 1 << N; static int[] ones = new i ......
进制 顺序 AcWing 166

AcWing 237. 程序自动分析 (并查集 + 无序离散化 + 输入过多要快读

package 算法提高课; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util ......
过多 程序 AcWing 237

AcWing 1129. 热浪 (dij板子题

package 算法提高课; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Scanner; public class acw1129 { static class PII implements C ......
板子 热浪 AcWing 1129 dij

AcWing 1128. 信使 (dij板子题 + 求花费最大的那个点的花费

package 算法提高课; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Scanner; public class acw1128 { static int n, m; static int[] ......
板子 信使 AcWing 1128 dij

AcWing 1127. 香甜的黄油 (dij板子不能背太死, 需要知道含义灵活变通

package 算法提高课; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Scanner; public class acw1127 { static int n, p, c; static in ......
板子 黄油 含义 AcWing 1127

AcWing 3305. 作物杂交 (spfa建边变形版本

package 蓝桥杯; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class lanqiao1443 { static ......
作物 版本 AcWing 3305 spfa

AcWing 167. 木棒 (剪枝非常多的一道搜索题

package 算法提高课; import java.util.Arrays; import java.util.Scanner; public class acw167 { static int[] w; static boolean[] st; static int sum, len, n; / ......
木棒 一道 AcWing 167

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 之所以 感觉

KMP板子

update on 2023.11.17 NOIP前来复习板子,发现KMP整理的不是很到位,所以更新详细一些。 模板题 抽象的blog 浅显易懂的讲解视频:(dalao讲得太好了\(%%%\)) 备用网址 \(kmp\)(字符串匹配)的概念: 主串:被匹配的字符串 模式串:匹配的串 最长前后缀:一个 ......
板子 KMP

高精度板子

高精度模板 copy老师的代码 @_xuefeng #include<bits/stdc++.h> using namespace std; char ch[500000]; struct node{ int s[1000000],len; void init(){ scanf("%s",ch+1) ......
高精 板子 高精度

wxnp---板子

求逆序对 归并排序 首先是一个排序作用,然后可以求逆序对 平均时间复杂度:O(nlogn),空间复杂度:O(n) 代码: int n,ans=0; int a[N],temp[N]; void merge_pai(int l,int r,int mid){ int i=l,p=l,j=mid; wh ......
板子 wxnp

对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

计算几何板子

#define i128 long long inline i128 ABS(i128 x){return x<0?-x:x;} struct frac{ i128 x,y; frac(){} frac(i128 xx,i128 yy=1ll):x(xx),y(yy){ if(y<0)x=-x,y= ......
板子 几何

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

NOIP 考前板子复习

网络流 树链剖分 LCT 主席树 分块 莫队 带修莫队 回滚莫队/不删除莫队 树上莫队 平衡树 FHQ Treap Splay 旋转卡壳 ......
板子 NOIP

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

写板子的时候发现的易错点

KMP void get_nt(){ int j=0; for(int i=2;i<=tl;++i){ while(j&&t[i]!=t[j+1])j=nt[j]; if(t[j+1]==t[i])j+=1; nt[i]=j; } } void KMP(){ int j=0; F(i,1,sl){ ......
板子 时候

P1129 [ZJOI2007] 矩阵游戏

挺喜欢的一题。 首先我们很容易观察到一个性质:每一行和每一列上的黑色方格的数量是不变的,只能改变它在那一行和那一列的排列顺序。由此若是有某一行或某一列上没有黑色方格,直接输出 No 即可。此时我们考虑的情况就是每一行和每一列上至少都会有一个黑色方格。 这时有一个结论:若有解我们可以仅通过交换行来达成 ......
矩阵 P1129 1129 2007 ZJOI