自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 暴力求质因数

【代码】暴力求质因数。

2022-12-14 21:19:15 131

原创 luogu 4588

【代码】luogu 4588。

2022-10-27 08:25:09 122

原创 一本通1282 二维前缀和

数据水 O(n^4) 枚举矩形 + O(1) 求和 可以过。那么主要是写下二维前缀和。

2022-10-26 21:36:19 153

原创 一本通 1266

总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。虽然是水题,恰巧写一下这种类似背包输出具体方案的。

2022-10-26 21:26:34 105

原创 uva 1121

序列 {a} ,求最短子序列,且S>=K (S为序列元素的和)a[i]>=0.变形一下 a[j]=0 s[i] 前缀和数组是单调序列,可以二分查找 j。暴力如下O(n^2)

2022-10-26 20:09:48 70

原创 uva 11549

【代码】uva 11549。

2022-10-26 17:48:07 71

原创 uva 11078

【代码】uva 11078。

2022-10-26 16:54:43 41

原创 uva 12097

有F+1个人来分N个圆形派,每个人得到的必须是一整块派(比如一个圆的1/5) , 而不是几块拼在一起。一个圆 分为 S/x ,算出能划出几块,和总人数比较。求每个人最多得到多大面积的派(不必是圆形)二分答案---假设为x。

2022-10-26 16:18:46 64

原创 uva 12124

检验: 贪心,只考虑 V[i] >=md 的物品,每个种类挑体积最小的。每个种类的物品挑一个,装入背包(V) , 体积不超V。n个物品(属性有种类,价值,体积)问最小价值的物品最大是多少?二分答案,即这个最小价值md。

2022-10-26 15:45:15 51

原创 uva11384

对1 , 2, ,3, ...n 这个序列操作最少的次数,序列元素都为0。

2022-10-26 14:51:34 30

原创 cf 1742D

【代码】cf 1742D。

2022-10-26 11:43:52 72

原创 牛客 股票买卖的最佳时机

已知每支股票的价格序列 a , 进行若干次买卖( 一次买卖的收益a[j] - a[i] ) 求最大收益。

2022-10-26 10:59:03 62

原创 网络最大流板子

【代码】网络最大流板子。

2022-10-25 23:31:10 59

原创 uva 247

【代码】uva 247。

2022-10-25 22:53:40 47

原创 最短路的板子

每次找d[i] 最小的点i ,以此更新 d[y] = min(d[y], d[i]+ len(i,y) )该算法用 d[i] 保存起点到其他点的距离,初始为无穷。找最小的 d[i] 可以用优先队列优化一下。

2022-10-25 21:31:46 54

原创 uva 1395

像kruskal 一样,给边排序,枚举L,R 区间,更新答案。求图上苗条度(最大边 - 最小边) 最小的生成树。

2022-10-25 21:20:33 45

原创 一本通 1479 AC自动机板子

kmp+字典树

2022-10-25 18:22:12 49

原创 一本通 1466 Power Strings

询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如:ababab 则最多有 3 个 ab 连接而成。给定若干个长度 ≤106 的字符串,

2022-10-25 13:46:48 191

原创 一本通 1467

一个字符串,它是由某个字符串不断自我连接形成的。但是这个字符串是不确定的,现在只想知道它的最短长度是多少。

2022-10-25 13:44:18 57

原创 kmp算法

我们用两个指针i和j分别表示,A[i-j+ 1..i]与B[1..j]完全相等。也就是说,i是不断增加的,随着i的增加j相应地变化,且j满足以A[i]结尾的长度为j的字符串正好匹配B串的前 j个字符(j当然越大越好),现在需要检验A[i+1]和B[j+1]的关系。当A[i+1]=B[j+1]时,i和j各加一;当A[i+1]B[j+1],KMP的策略是调整j的位置(减小j值)使得A[i-j+1..i]与B[1..j]保持匹配且新的B[j+1]恰好与A[i+1]匹配(从而使得i和j能继续增加)。

2022-10-25 00:52:09 58

原创 uva 1401 字典树模板

f[i] += f[j] i

2022-10-24 18:49:21 116

原创 cf1739c

2.A没有最大的牌,但如果有 n-1 的牌,逼B交n的牌,也可能赢,A,B 打牌(牌的数量为偶数), 计算A赢 B赢 平局的方案数。1.A获得最大的牌,

2022-10-24 11:20:28 100

原创 luogu 2344

给一个序列划分为若干组,每组的和 S>=0, 问方案数。

2022-10-23 23:42:44 39

原创 luogu 1908 逆序对

给第一维排序(输入时已排好),统计 y(k)>=y(i) k

2022-10-23 22:25:28 80

原创 luogu 3004

硬币序列最左侧或者最右侧的硬币,并将他从序列中取出,将其价值累加到自己获得的累计价值中,然后进行另一个人的回合。当硬币全部被取走时,游戏结束。请求出在双方都尽可能的使自己累计价值最大的情况下,若由小 A 进行第一回合,那么他能获得的累计价值最大是多少。初始时,有 nn 个硬币被摆成了一行,从左至右数第 ii 个硬币的价值为 c_ici​。小 A 和小 B 每人一回合,在一个人的回合中,他可以选择。小 A 和小 B 在玩游戏。

2022-10-23 20:11:48 513

原创 luogu 2592

f[i][j][k][l] 目前i个男生,j个女生,个数差值为 k 和 l。n个男生,m个女生排成一排,要求任意子段 中男女生的个数差

2022-10-23 17:26:28 48

原创 luogu 1336

【代码】luogu 1336。

2022-10-23 14:20:28 51

原创 luogu 4909

缆线也是一条折线,由若干段缆绳组成,起点在山脉的第一个端点,终点在最后一个端点。每段缆绳可以贴着山脉的轮廓,也可以悬浮于空中,跳过山脉上几个海拔低的端点。每段缆绳的水平跨度有限制,不能超过给定的整数 L。罗恩需要在每段缆绳的端点处修建支柱,用来固定缆绳。这条折线由 NN 个端点,N−1N−1 段线段组成,第 ii 个端点的横坐标就是 ii,纵坐标是 H_iHi​,纵坐标代表高度,也可以称为海拔。请帮助他规划一下,选择在山脉的哪些端点上修建,才能使得支柱数量最少?注意,根据题意,起点和终点上是一定要修建的。

2022-10-23 13:32:36 34

原创 luogu 4084

【代码】luogu 4084。

2022-10-23 11:40:44 42

原创 luogu 1156

算答案的时候, 应该 在 任意 f[i][j] 里面找,(不是 f[n][j]) ,奶牛中途可能成功了。考虑前i个物品, 此时高度为j 时 ,最大的血量。物品顺序要按时间从小到大枚举。状态 f[i][j]

2022-10-23 10:52:20 59

原创 luogu 1282

在 sum{ a } -sum{ b } 最小的前提下,求出最小的答案。对每个i ,从 a[i] b[i] 选一个。若选择 a[i] ,不贡献答案;

2022-10-23 00:24:07 32

原创 luogu 2389

对序列{a} ,选择m个连续段,求总和最大。

2022-10-22 21:56:50 44

原创 luogu 2854

n条线段( 起点,终点,价值,费用) ,选择一些来覆盖 [0,L],注意所选线段不能相交。状态第一维放当前的位置(如果放线段编号,emmm好像没法做。背包题,而且背包体积要刚好用完。

2022-10-22 16:55:40 73

原创 luogu 1280

对于某个区间起点,状态转移到终点,要反过来枚举 i。

2022-10-22 13:57:17 59

原创 luogu 2426

【代码】luogu 2426。

2022-10-22 12:12:01 73

原创 luogu 5020

现在网友们打算简化一下货币系统。他们希望找到一个货币系统 (m,b)(m,b),满足 (m,b)(m,b) 与原来的货币系统 (n,a)(n,a) 等价,且 m 尽可能的小。他们希望你来协助完成这个艰巨的任务:找到最小的 m。两个货币系统 (n,a)(n,a) 和 (m,b)(m,b) 是等价的,当且仅当对于任意非负整数 xx,它要么均可以被两个货币系统表出,要么不能被其中任何一个表出。据猜测和观察样例,应该是看对于任意 a[i] 是否可以被其他货币表示出来。

2022-10-21 21:37:02 70

原创 luogu 1107

k的枚举的目的是 找 f[k][height] 最大,可以维护一下,然后直接用。重点来了,可以去掉 k 的枚举。暴力程序 O(n^3)

2022-10-21 20:42:18 45

原创 luogu 2513 逆序对数列

下列3个数列逆序对数都为1, 1 2 4 3;f[i][j] = sum{ f[i-1][j-k] } ,k 即我们枚举的贡献。f[i][j] 表示 1~i 的整数组成排列, 逆序对数为 j ,的排列个数。我们在 1~i-1 的某个排列中插入i ,可能贡献 0~i-1 个逆序对。对于1~n的整数组成的的排列,其中逆序对数为K的排列有几种。复杂度O(n* k^2) ,比如n=4,K=1时。

2022-10-21 14:46:57 378

原创 luogu 1137

那么题目要求经过拓扑排序的图上求DAG最长路。

2022-10-20 21:32:32 65

原创 前向星 存图

【代码】前向星 存图。

2022-10-20 21:21:53 49

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除