自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 欧拉筛与埃氏筛模板以及简单讲解+P3383题解

以洛谷P3383作为例题

2020-08-31 13:51:43 206

原创 蓝桥杯Java ABC组 LG P1586 四方定理

题意就是一个有限制的完全背包求方案数(注意审题,一开始我看成了 01 背包,调了二十分钟没调出来)#完全背包 #方案数 #二维背包 #Favorite。可以在一开始处理时就把所有数字处理出来,询问时直接。的背包方案数,对于每个物品,一维体积为。所以解决方法就是把状态定义为前。的背包的方案数,最后用一个。

2024-03-22 10:32:15 683

原创 蓝桥杯Java ABC组 LG P1417 烹调方案

因为交换相邻的两个物品,只会对这两个物品产生影响,不会对这两个物品前面的值和后面的值产生影响。和能量石那道题一样,也和这道题 [[LG P1080 国王游戏]] 有关系。#01背包 #贪心 #Favorite。为什么能只考虑相邻的两个呢?

2024-03-22 10:31:45 235

原创 蓝桥杯Java ABC组 LG P1336 最佳课题选择

本题的泛化物品:每个课题是一个物品,对于每个课题物品,当体积为。十年 OI 一场空,不开 __ __ 见祖宗。注意“恰好”和“最小值”的限制。一道经典的泛化物品的背包问题。而本题题意所求的就是:体积。为 n 的情况下,价值的。

2024-03-22 10:30:48 262

原创 蓝桥杯Java ABC组 LC P494 目标和

本题的意思就是把数字分为两个集合,一个赋加号,一个赋减号,这里不妨设为。转化过程比较有意思,记录一下。也就是从整个集合中找出和为。

2024-03-22 10:30:18 489

原创 蓝桥杯Java ABC组 CF 543A Writing Code

题目中要求一维体积恰好装满,二维体积不超过的方案数,所以就把状态定义为一二维都恰好装满就行。最后代表的是前 n 个物品,m 行代码,bug数为 0 的情况,这种情况是合法的。n 个物品,每个物品一维体积为 1,二维体积为 a_i。和 [[LG P1586 四方定理]] 一模一样。

2024-03-22 10:29:40 387

原创 蓝桥杯Java ABC组 AcWing P1022 宠物小精灵之收服

但求“收服 C 个小精灵时皮卡丘的剩余最多体力值”时卡了一下。当时在想这二维费用怎么不平衡之类的,其实没有这么复杂。求出最大值后,就再遍历一遍,找出最小消耗的体力。典型的二维 01 背包问题。

2024-03-22 10:29:07 313

原创 蓝桥杯Java ABC组 AcWing P1020 潜水员

它说至少需要 3 个体积,那么体积是 4 还是可以用到,只是多了 1 个体积没用占着而已,不影响其价值,此时。,至少需要 3 个体积,5 个重量,求能拿到价值的最小值,现在只有一个物品,体积是 4,重量是 4,价值。就拿体积来说,至少需要多少体积,也就是说有体积比需要的体积大的物品还是能用得到,例如。可以认为在至少的语义上,物品的体积上限是没有限制的,反而是物品体积的下限需要有限制。代表的意思是体积大于等于 0,重量大于等于 i 时价值的最小值。的情况下,能拿到价值的最小值。(只会求价值的最小值)

2024-03-22 10:27:22 744

原创 蓝桥杯Java ABC组 AcWing P1013 机器分配

泛化物品的和,针对一个特定的体积,就是枚举两个物品体积的分配方案,取最优解。最后输出时麻烦了一点,但思路和 [[LG P1759 通天之潜水]] 一样。泛化物品的题,每个公司都是一个泛化物品,给定一个体积,能得到一个价值。代表前 i 组物品中,体积为 j 时,选了该组中的第 k 个。把每个公司想成一个组,每个组里面只能选一种方案。整个过程就相当于是分组背包的过程。#分组背包 #记录路径。

2024-03-22 10:26:45 206

原创 蓝桥杯Java ABC组 AcWing P12 背包问题求具体方案

如果要求字典序最小,就相当于要把递归改递推,让dp从n到1倒着来,这样贪心时才能找回去。倒推状态转移路径的时候,只能在分叉转移的时候,即当前物品既可以选又可以不选时,优先选。字典序最小百分之九十都可以用贪心去解决。

2024-03-22 10:26:01 152

原创 蓝桥杯Java ABC组 AcWing P11 背包问题求最优方案数

这里采用前i个物品不超过体积j的定义方式。和最短路求方案数的思路差不多。对于不同的状态定义方式,

2024-03-22 10:22:38 189

原创 蓝桥杯Java ABC组 数论知识合集

蓝桥杯数论知识合集

2023-06-01 22:57:36 784

原创 CentOS 8 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist

CentOS 8 Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist

2022-03-02 15:11:08 785

原创 Webstorm 2021.3.1打开.vue文件时会一直卡在Analyzing的状态的解决办法

个人配置Webstorm 2021.3.1Vue 3 + Typescript + vue/cli5 +webpack 5问题记录Linting 不起作用,语法检查,代码没有完全突出显示等等,只是保持部分索引即一直保持图片右上角的Analyzing状态解决办法我查过了Webstorm的youtrack,里面有许多issue都反映这个问题总结一下,应该是Webstorm自带的vue.js插件出了问题Jetbrains的工作人员提到修复程序将在 2021.3.2 中提供而2021.3.

2022-01-24 00:28:44 2974 8

原创 深入理解计算机系统(英文版 第三版)第三章阅读笔记(英文)

Computer System A Programmer PerspectiveChapter 3 Machine-Level Representation of Programs3.2 Program Encodings3.2.1 Machine-Level CodeThe memory addresses used by a machine-level program are virtual addresses,providing a memory model that appears to b

2021-04-28 15:52:31 666

原创 栈的巧妙用法(一)

实现一个栈,支持1)入栈2)出栈并输出栈顶3)查询栈中最小值三个操作,要求时间复杂度均为O(1)思路:建立两个栈,s1存储原来的数据,s2存储s1中以栈底为开头的每段数据的最小值#include <iostream>#include <cstdio>using namespace std;int s1[1000],s2[1000],n,m,a,tot;int main(){ cin>>n; s2[0]=666666;..

2020-08-30 21:12:50 101

原创 数据结构 (structure) 解题报告

Description 你需要写一个数据结构,支持:在x号元素后面插入一个新的元素,如果当前序列中有n个元素,那么新的元素的编号就是n。询问两个元素x,y的在序列中的先后顺序。初始时序列中只有1个元素,编号为0。Input 第一行两个数type,m。type表示是否强制在线,如果强制在线,则type=1,否则type=0。m表示操作和询问的总数量。对于询问,你需...

2018-07-16 20:33:04 271

原创 搜索练习题(2)全排列

题目描述输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入输出格式输入格式: n(1≤n≤9) 输出格式: 由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。 输入输出样例输入样例#1: 复制3输出样例#1: 复制 1 2 3 1 ...

2018-07-16 20:26:36 192

原创 搜索练习题(1)八皇后

题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把...

2018-07-16 20:11:43 165

原创 堆 (heap)解题报告

堆 (heap)Description给你一棵有n层的满二叉树,要求父亲的权值大于等于儿子的权值,并且左子树的任意一个结点的权值都小于等于右子树任意一个节点的权值。但是这棵二叉树可能不满足这个条件,现在你需要对若干结点的权值进行调整使得它满足这个条件;并且你希望调整的节点最少。Input第一行一个正整数n。接下来有n行,第n行有2^(i-1)个正整数,依次表示从左向右第i 层的节点的权值(≤10^...

2018-07-14 20:26:36 225

原创 动态规划练习题(9)导弹拦截(Noip 1999)

题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是 \le 50000≤50000 的正整数),计算这套系统最多能拦截多少导弹,如...

2018-07-14 20:21:11 447

原创 动态规划练习题(8)大盗阿福

总时间限制: 1000ms内存限制: 65536kB描述阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?输...

2018-07-14 20:15:07 402

原创 动态规划练习题(7)怪盗基德的滑翔翼

【题目描述】怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑...

2018-07-14 18:13:11 670

原创 动态规划练习题(6)登山

【题目描述】五一到了,ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?【输入】第一行:N (2 ≤ N ≤ 1000)...

2018-07-14 18:09:01 1209

原创 动态规划练习题(5)摘花生

【题目描述】Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。【输入】第一行是一个整数T,代表一共有多少组数据。1≤T...

2018-07-14 18:01:30 1197

原创 动态规划练习题(4)三角形最佳路径问题

【题目描述】如下所示的由正整数数字构成的三角形:73 88 1 02 7 4 44 5 2 6 5从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。【输入】第一行为三角形高度100≥h≥1,同时也是最...

2018-07-13 20:14:51 541

原创 动态规划练习题(3)开餐馆

Description北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列m1, m2, ... mn 来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用pi 表示在mi 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。请你帮助小明选择一个总利润...

2018-07-13 20:07:01 1825

原创 动态规划练习题(2)踩方格

总时间限制: 1000ms 内存限制: 65536kB 描述 有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设: a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上; b. 走过的格子立即塌陷无法再走第二次; c. 只能向北、东、西三个方向走; 请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入 允许在方格上行走的步数n(n ...

2018-07-13 20:03:18 373

原创 动态规划练习题(1)最小通行费

【题目描述】一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。【输入】...

2018-07-13 19:58:12 1573

原创 拓扑排序(模板)

2018-02-07 22:59:42 302 2

原创 Kruskal

最小生成树(模板)这里只介绍Kruskal算法,在NOIP考试中,还未成出现prime/Kruskal算法卡其中一种的情况Kruskal算法基本思路:首先把所有的边按照权值先从小到大排列,接着按照顺序选取每一条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。算法实现:用一个结构体数组e来保存信息,再用sort排序,这里需要自己写一个函数cmp来定义排序标...

2018-02-07 22:57:22 197

原创 洛谷【P1865】 A % B Problem

传送门:洛谷【P1865】 A % B Problem:点击这里题目描述区间质数个数输入输出格式输入格式:一行两个整数 询问次数n,范围m接下来n行,每行两个整数 l,r 表示区间输出格式:对于每次询问输出个数 t,如l或r?[1,m]输出 Crossing the line输入输出样例2 51 32 6输出:2Crossing th

2018-02-07 22:05:16 260

原创 洛谷【P1346】电车

先贴上链接:点击打开题目描述在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所指向的轨道出去,如果电车司机想走另一个轨道,他就必须下车切换开关的状态。为了行驶向目

2018-02-06 19:46:37 228

原创 快速幂,大整数取模

快速幂不解释,这里的大整数是指long long无法存储的整数(好像有一点鸡肋)传送门:gcd和lcm:点击这里上代码:#include #include #include using namespace std;char n[10000000];int qmod(int a,int b,int c){ if(b==0) return 1; int x=qmod(a

2018-02-06 19:37:14 476

原创 gcd,lcm

gcd,数论基础之一,即两个数的最大公因数(gcd)以及lcm,即两个数的最小公倍数;传送门:快速幂,大整数取模:前者方法是辗转相除法,原理自行百度,手动模拟一次即懂至于后者…………………………上代码:#include #include using namespace std;int gcd(int a,int b){return b==0?a:gcd(b

2018-02-06 19:29:10 295 1

原创 素数筛

素数筛,顾名思义就是要筛去合数,留下素数,达到预处理的效果基本思路:把从1开始的,某一范围内的正整数从小到大顺序排列,1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。上代码之前,配上一道洛谷的题P1865 A % B Problem:点击这里就是一道素数筛的裸题!!!(配上前缀和使用更美味)附上本人的解题报告:上代码:#include #inc

2018-02-04 23:22:43 194

原创 SPFA

SPFA算法(模板)昨天才打了dijkstra堆优化的模板,今天再打这个……发现两个算法好接近啊,特别特别像基本思路:一开始时将源点加队,每次从队列中取出一个元素,并对所有与他相邻的点进行松弛,若某个相邻的点松弛成功,则将其入队。 直到队列为空时算法结束。(减少了不必要的计算)传送门Dijkstra(堆优化):点这里哈哈哈OK,代码上有详细解释,上代码:#include

2018-02-04 23:08:17 692

原创 Dijkstra(堆优化)

Dijkstra 算法 (模板)【堆优化】传送门:Dijkstra:建议先掌握原始版本基本思路:用一个优先队列,priority queue来保存点到点之间的距离,优先队列自动把队列里的数据排序(这里需要手动写一个bool型函数来定义为由大到小排序),枚举各种可能的走法,包括当某两点之间的路线为无限大时,(所以可以自动处理重边,而原始版本的不能)最后把最小的方案(即dis)输出给d数组

2018-02-03 23:25:58 541

原创 Dijkstra

Dijkstra 算法 (模板)图论中基本的最短路径算法之一传送门:Floyd算法:就是这里哈哈哈基本思想:其实我觉得基本思路和Floyd差不多,利用松弛操作比如:a--->b,从a到b,在没有其他路的情况下直接走当然最短,所以要使其更短,就只有引出第3个点,让a--->c--->b比a--->b短用代码解释这句话就是if(dis[v]>dis[u]+a[u][v])

2018-02-02 21:10:02 283

原创 Floyd算法

Floyd 算法(模板)第一次写博客,就把我的第一篇博客贡献给图论吧哈哈哈哈今天正在寒假集训,正好讲了几种最短路径算法,今天晚上我就归纳一下并贴出模板,如果有时间我会贴出题的Floyd该算法由Robert W.Floyd于1962年发表在Communications of the ACM上。正在让代码更具有可读性……#include #include #defi

2018-02-02 20:32:10 281

空空如也

空空如也

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

TA关注的人

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