板子 热浪acwing 1129

几个板子

FHQ Treap 普通平衡树 struct treap { int l, r, siz, dat, val; } tr[N]; int idx, rt; int get_new(int val) { tr[++ idx].val = val; tr[idx].dat = rand(); tr[id ......
板子

「解题报告」CF1129D Isolation

水题,但是调了好久 qwq 显然是 DP,出现次数显然分块,那就数据结构优化 DP 呗。 我们可以维护出当前点到每个点这段区间内有多少个出现次数为 $1$ 的数,这个右端点每拓展一位修改的左端点一定是连续的区间。分块维护这个东西,如果是散块暴力重构暴力加,如果是整块那给整块打个加标记。 发现,加标记 ......
Isolation 报告 1129D 1129 CF

AcWing 245. 你能回答这些问题吗

给定长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一: 1 x y,查询区间 [x,y] 中的最大连续子段和, 2 x y,把 A[x]改成 y。 对于每个查询指令,输出一个整数表示答案。 输入格式 第一行两个整数 N,M。 第二行 N 个整数 A[i]。 接下来 M 行每行 3 ......
AcWing 问题 245

AcWing 1275. 最大数

给定一个正整数数列 a1,a2,…,an,每一个数都在 0∼p−1之间。 可以对这列数进行两种操作: 添加操作:向序列后添加一个数,序列长度变成 n+1; 询问操作:询问这个序列中最后 L 个数中最大的数是多少。 程序运行的最开始,整数序列为空。 一共要对整数序列进行 m 次操作。 写一个程序,读入 ......
AcWing 1275

AcWing 可达性统计(bitset

可达性统计 建图 图的存储 拓扑排序: DAG(有向无环图),往拓扑排序思考。 拓扑排序的目标是将所有节点排序,使得排在前面的节点不能依赖于排在后面的节点。 此类问题需要使用bitset优化。 bitset 在 bitset 头文件中,它类似数组,并且每一个元素只能是0或1,每个元素只用1bit空间 ......
可达性 AcWing bitset

线段树区间和,区间修改,区间查询板子

#include <bits/stdc++.h> using namespace std; using LL = long long; #define lson (nd<<1) #define rson (nd<<1|1) #define mid (l+r>>1) const int N = 1e5 ......
区间 线段 板子

逆序对的数量(Acwing)

1.首先要想到排序问题中的归并排序来解决此问题; 其次我们要看逆序数的定义是i<j&&a[i]>a[j] ; 下面就来模拟一下; 1 3 2 4 7 8 9 5 6 7 ......
逆序 数量 Acwing

AcWing 第 98 场周赛 ABC

https://www.acwing.com/activity/content/competition/problem_list/3128/ ###4947. 大整数 题目大意: 给定n,k。输出n个k。 输入样例: 3 2 输出样例: 222 #include<bits/stdc++.h> usi ......
AcWing ABC 98

acwing2816. 判断子序列

link code #include<bits/stdc++.h> using namespace std; const int N = 100010; int a[N],b[N]; int main(){ int n, m; cin >> n >> m; for(int i = 1; i <= n ......
序列 acwing 2816

区间合并 acwing803

link code #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n; int ans = 1, tpr = 0; vector<pair<int,int>>v; int l, r ......
区间 acwing 803

一道一板一眼的数位dp和二分结合的板子题

题目 1811E - Living Sequence 题意 找出第n个,数位中不含‘4’的数字 思路 数位dp + 二分 唯一要注意的就是纯dfs搜索会卡常(hh,就是复杂度太高了),用上一点记忆化 代码 const int N = 14; int dp[N][N]; int a[N]; int l ......
一板一眼 板子 数位 一道

AcWing算法提高课-1.1.1摘花生

题目描述 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。 Hello Kitty只能向东或向南走,不能向西或向北走。 ......
花生 算法 AcWing

对拍板子

以防忘记 三个cpp文件 a.cpp表示待拍文件, b.cpp表示暴力版本,data.txt表示生成的数据。 #include <bits/stdc++.h> using namespace std; void generateData(){ ofstream fout("input.txt"); ......
板子

AcWing 1013. 机器分配

总公司拥有 M 台 相同 的高效设备,准备分给下属的 N 个分公司。 各分公司若获得这些设备,可以为国家提供一定的盈利。盈利与分配的设备数量有关。 问:如何分配这M台设备才能使国家得到的盈利最大? 求出最大盈利值。 分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数 M。 输入格式 第一 ......
机器 AcWing 1013

AcWing 12. 背包问题求具体方案

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出 字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是 1…N。 输入格式 第一行 ......
背包 方案 AcWing 问题 12

AcWing 1023. 买书

小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。 问小明有多少种买书方案?(每种书可购买多本) 输入格式 一个整数 n,代表总共钱数。 输出格式 一个整数,代表选择方案种数。 数据范围 0≤n≤1000 输入样例1: 20 输出样例1: 2 输入样例2: 15 输出样例2: ......
AcWing 1023

AcWing 1019. 庆功会

为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。 期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。 输入格式 第一行二个数n,m,其中n代表希望购买的奖品的种数,m表示拨款金额。 接下来n行,每行3个数,v、w、s,分别表示第I种奖品的价格 ......
庆功会 AcWing 1019

AcWing 278. 数字组合

给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。 输入格式 第一行包含两个整数 N 和 M。 第二行包含 N 个整数,表示 A1,A2,…,AN。 输出格式 包含一个整数,表示可选方案数。 数据范围 1≤N≤100,1≤M≤10000,1≤Ai≤10 ......
数字 AcWing 278

AcWing 1022. 宠物小精灵之收服

宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。 一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。 小智也想收服其中的一些小精灵。 然而,野生的小精灵并不那么容易被收服。 对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对 ......
宠物 AcWing 1022

AcWing 1024. 装箱问题

有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数)。 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 第一行是一个整数 V,表示箱子容量。 第二行是一个整数 n,表示物品数。 接下来 n 行,每行一个正整数(不超过10000),分别表示这 n 个物品的 ......
AcWing 问题 1024

AcWing 8. 二维费用的背包问题

有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。 每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。 求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。 输入格式 第一行三个整数,N,V,M,用空格隔 ......
背包 费用 AcWing 问题

AcWing 423. 采药

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。 为此,他想拜附近最有威望的医师为师。 医师为了判断他的资质,给他出了一个难题。 医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里, ......
AcWing 423

AcWing 9. 分组背包问题

有 N 组物品和一个容量是 V的背包。 每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j是组内编号。 求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行有两个整数 N,V,用空格隔开,分 ......
背包 AcWing 问题

AcWing 3. 完全背包问题

有 N 种物品和一个容量是 V的背包,每种物品都有无限件可用。 第 i种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N行,每行两个整 ......
背包 AcWing 问题

AcWing 4. 多重背包问题

有 N 种物品和一个容量是 V的背包。 第 i种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N行,每行三个整数 v ......
背包 AcWing 问题

AcWing 2. 01背包问题

有 N 件物品和一个容量是 V的背包。每件物品只能使用一次。 第 i件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N行,每行两个整数 ......
背包 AcWing 问题

acwing 4405.统计子矩阵的和

原题链接 解题思路 通过i和j来控制子矩阵的左右边界,通过s和t来控制子矩阵的上下边界, 在子矩阵的和小于k时候,统计子矩阵的个数。 代码 #include<iostream> using namespace std; const int N = 550; int a[N][N]; // i 与 j ......
矩阵 acwing 4405

Acwing 799.最长连续不重复子序列

原题链接 代码 #include<iostream> using namespace std; const int N = 100010; int a[N],f[N]; int main(){ int n; cin >> n; int ans = 0, j = 1; for(int i = 1; i ......
序列 Acwing 799

AcWing第97场周赛复盘总结

4944. 热身计算 - AcWing题库 给定两个正整数 $ a,b $,请你分别计算 $ \min(a,b) $ 以及 $ \lfloor \frac{|a-b|}{2} \rfloor $ 的值。 $ \lfloor \frac{|a-b|}{2} \rfloor $ 表示不大于 $ \fra ......
AcWing
共332篇  :10/12页 首页上一页10下一页尾页