自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024蓝桥杯省赛pythonB组

在风景如画的蓝桥村,n 名村民围坐在一张古老的圆桌旁,参与一场思想的较量。一共有以下 6 对格子:(1, 2) − (2, 1) ,(2, 2) − (3, 1) ,(2, 1) − (3, 2) ,(2, 1) −(1, 2) ,(3, 1) − (2, 2) ,(3, 2) − (2, 1)。对于 30% 的评测用例,1 ≤ N ≤ 103,1 ≤ M ≤ min(2 × 103,N×(N−1)/2),1 ≤ L ≤ R ≤ 105,1 ≤ u, v ≤ N, u , v,1 ≤ w ≤ 105。

2024-05-03 16:21:19 977 2

原创 背包问题

关于背包问题,嗯一直学不明白,暑假咸的没事又拾起来学了一下,跟着这位大佬整理的思路(),对背包的思想有了一定清晰的理解,大佬的文章有些长,所以跟着自己的思路再整理一下。dp[i][j]:表示前i个物品花费代价为j的可以获得的最大代价。方法二:二进制优化O(N*log(p)*V)p[i]:表示第i种物品最多有p[i]件。所以要做一下处理:除以1000防止爆空间。O(V*N)转化为01背包问题。方法一:O(V*∑p[i])为了方便统一,先定义一下。

2023-10-01 17:32:10 284

原创 基础数学问题

第二点:unique并不会生成一个新的数组,而是将原数组多余的部分“移”到了数组之后,同时unique本身还会返回一个指针,指向去重之后的最后一位。a1/(a2/a3/a4/...)=a1a3a4.../a2,所以我们只要确认a1a3a4.../a2是否是整数。利用c++可以指针相加减的特点,我们可以通过 unique-数组指针 来知道去重之后数组的“大小”优化: 很多⌊n/i​⌋下取整都是一样的,i跳到⌊n/j​⌋=⌊n/i​⌋+1的位置。[1,n]里约数有i的个数是⌊n/i​⌋下取整。

2023-08-19 16:33:27 185

原创 贪心的算法

【代码】贪心的算法。

2023-08-06 16:56:57 290

原创 高精度算法

【代码】高精度。

2023-07-31 15:06:00 269

原创 约瑟夫问题

【代码】约瑟夫问题。

2023-07-26 19:28:54 192

原创 背包问题(分组背包问题)

【代码】背包问题(分组背包问题)

2023-02-25 15:23:03 72 1

原创 背包问题(多重背包问题)

多重背包问题对比01背包问题,01背包问题是只有选和不选两种情况,多重背包是不止这两种情况,其实是01背包问题的一种扩展,只需要在状态转移时变化一下。考虑给定一个数s,最少把s分成多少个数,分别有选和不选两种方法,可以拼成小于等于s的所有数?如果数据范围1000~2000,采用二进制优化方法:把多重背包问题变成01背包问题。解法分成log2(s)下取整个数,s=7,则拆成2^0=1,2^1=2,2^2=4。如果s=7,分成1,2,4。

2023-02-25 15:02:43 210

原创 背包问题(完全背包问题)

01背包问题枚举的是选和不选两个集合,完全背包问题可以选无限多个,直到选到体积超过v为止,所以要划分为若干个子集。f[i][j]存的值是集合的哪个属性?(问的是啥就是啥,问最大值,属性就是最大值)f[i][j]表示的哪一个集合?所有只从前i个物品选,总体积不超过j的方案的集合。区别:完全背包问题每个物品可用无限次,01背包问题每个物品只能用1次。结论:完全背包问题就是01背包问题的遍历顺序相反。(区别在于i和i-1导致枚举时顺序相反)

2023-02-25 14:22:41 374

原创 背包问题(01背包问题)

1.f[i][j]状态只和f[i-1][j]有关,即只和前一层有关,所以用一维数组f[n]来表示体积是i的最大价值是多少,把f[i]的状态等价删除,即。:初始化时f[i]都是0,f[m]表示体积小于等于m的最大价值;f[ i ][ j ]表示只看前i个物品,总体积是j的情况下,总价值最大是多少,则result=max(f[n][0~v])2.选第i个物品,f[ i ][ j ]=f[ i-1 ][ j-v[ i ] ];1.不选第i个物品,f[ i ][ j ]=f[ i-1 ][ j ];

2023-02-25 13:40:22 84

原创 PTA复习

/ y=b;int k=0;=' ')//特殊样例,最后输入空空空k++;cout

2023-02-16 21:27:12 900

原创 C语言播放音乐

【代码】C语言播放音乐。

2022-12-11 00:35:20 728 2

原创 树和图的基础知识(洛谷)

用结构体存储左右儿子,dfs深度搜索遍历。邻接表存树,然后dfs或bfs遍历。代码3:纯dfs(用二维数组进行存储)代码2:bfs(和搜索与图论的。代码2:利用ASCII进行存储。代码:和上一题的代码1一样。代码:和上一题的代码1一样。代码:和上一题的代码1一样。代码1:和上一题做法一样。...

2022-08-14 11:20:50 237

原创 cf1713(A、B、C)、cf1716(A、B)、cf1714(A、B、C)

a1=[1,2,3], a2=[3,2,1], a3=[3,1,2] — 这是一个长度为 3 的有效链。,n]) 的恒等排列。a1=[1,2,3], a2=[1,3,2], a3=[1,2,3] — 这不是一个有效的链。a1=[1,2,3], a2=[1,3,2] - 这是一个长度为 2 的有效链。a1=[2,1,3], a2=[3,1,2] — 这不是一个有效的链。对于 n=3,第一个排列应始终为 [1,2,3]。例如,在一次移动中,序列 [3,1,4,3] 将产生由不同数字组成的序列 [1,4,3]。.

2022-08-06 13:16:32 448

原创 搜索(洛谷)

代码1dfs注意恢复现场。

2022-07-24 21:33:15 364

原创 二分(洛谷)

从起点出发,先选定一段距离mid,若前面的石头B与你所站着的石头A的距离小于mid(因为mid是最小的,如果有比mid小的就搬掉使其变大),就把B搬掉,记录一下;如果少了,就把mid定大点。1.空白牌足够多,n种牌中原有牌的数量加上能手写牌的数量的和(c[i]=a[i]+b[i])最小值(c[i])是在不全手写的套牌数的最小值,总的空白牌减去用过的除以n,是额外加的套牌数。二分答案问题提高伐木机的高度,显然地,得到的木头会减少,同样地,放低得到的木头会增多,而正因为答案有单调性,所以我们可以使用二分。...

2022-07-16 21:07:25 457

原创 洛谷(生日、连续自然数、台阶问题、眼红的Medusa、区间最大和、Time Management S)

目录生日连续自然数和台阶问题眼红的Medusa【深基附B例】区间最大和生日代码:#include<iostream>#include<cstring>#include<algorithm>using namespace std;struct student{ string name; int year; int month; int day; int num;}stu[110].

2022-05-17 19:15:39 273

原创 牛客月赛46

目录A-赢的次数B-子段和C-英语作文D-生活在树上E-对决F-数对A-赢的次数代码:#include<iostream>using namespace std;int main(){ int n; cin>>n; if(n%2==0)cout<<n/2; else cout<<n/2<<' '<<n/2+1; return 0;}这题看完猜答案,没想到一试就对了,所以有些题目

2022-04-15 23:45:44 200

原创 洛谷(黑色星期五、FILIP、梦中的统计、金币)

黑色星期五目录黑色星期五FILIP梦中的统计金币​Cantor表(升级版)黑色星期五代码:#include<iostream>#include<vector>#include<cmath>using namespace std;int main(){ int n,i,month; cin>>n; int year=1900,num=1; int s[7]={0}; int mon[13.

2022-04-15 13:38:57 207

原创 洛谷(修改数组、烦恼的高考志愿、水壶、选数)

修改数组本题纯属思维题!结论:全部改成1一定是最优解。证明:对于一个当前全部为 1的区间[l,r],考虑它与包含它的区间哪一个更优。考虑左端点左边一个位置l−1,若l−1为1则左端点向左移显然更优;若l−1为0,将l−1位置修改为1并将左端点向左移更优;此时x和y同时增大1,x−y不变因此,一种最优的区间即为[0,n-1],即将所有为0的数改为1时,x-y取到最大值,且为原序列中1的个数。代码:#include<i...

2022-04-12 23:29:21 221

原创 洛谷(计数、均分纸牌、最大正方形)

计数目录计数均分纸牌最大正方形求细胞数量计数代码:(1)二分法#include<iostream>#include<math.h>using namespace std;typedef long long LL;int main(){ LL n,m; cin>>n>>m; LL l=0,r=n; LL res=0; while(l<r) { LL mid=l+r+1>>1

2022-03-29 20:25:34 1122

原创 数据库的创建、删除、导入、导出(待更新)

启动服务器(首先第一件事:)打开客户端workbench:删除数据:数据的导入导出:找到导出位置后会发现多了一些表,是三个基本表和一些额外的对象两种打开方式:1.右键记事本打开出现2.直接打开,默认mysql导入:...

2022-03-26 21:48:38 1143

原创 数据库的安装

MySQl(服务器)、workbench(客户端)安装:MySQL及MySQL-workbench安装 - 知乎 (zhihu.com)mysql安装保姆级教程【必成功】_哔哩哔哩_bilibiliSQLyog安装(客户端):SQLyog的下载、安装、破解、配置(MySQL可视化工具安装) - 砰砰的猿 - 博客园 (cnblogs.com)...

2022-03-26 18:24:19 915

原创 第十一届蓝桥杯省赛第一场C++A/B组真题

目录整数序列解码走方格整数拼接网络分析超级胶水整数序列代码:#include<iostream>#include<vector>using namespace std;int main(){ long long n; cin>>n; vector<int> C; while(n>0){ cout<<n<<' '; n/=2; } return 0;}.

2022-03-25 17:34:49 435

原创 洛谷(小鱼的数字游戏、进制转换、Cableway、Quasi Binary)

目录小鱼的数字游戏:进制转换:Cableway:Quasi Binary:小鱼的数字游戏:代码:#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=110;int q[N];int main(){ int c=0; for(int i=0;i<110;i++){ cin>>

2022-03-23 21:13:18 3199 1

原创 错误票据【蓝桥第四届】

题目:某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式第一行包含整数N,表示后面共有N行数据。接下来N行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代表一个ID号。...

2022-03-18 16:08:21 129

原创 费解的开关

思路:1.按的顺序可以任意2.每个格子只按一次3.每一行开关的操作完全被前一行的灯的亮灭状态决定(第一行决定后面的操作),最后一行灯的状态无法改变如何枚举第一行操作:1.指数类型枚举2.位运算:i的第k位是否是1——i>>k&1如何实现turn(x,y)函数利用偏移量:把当前数定为原点——左(-1,0),右(1,0),下(0,-1),上(0,1),不变(0,0)题目:你玩过“拉灯”游戏吗?25盏灯排成一个5×5的方形。每一个灯都有一个...

2022-03-17 13:02:29 4051

原创 翻硬币【蓝桥第四届】

题目类型:初始状态变到目标状态需要几步 ——宽搜bfs(状态数不是很大的情况下)题目:代码:#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 110;int n;char start[N], aim[N]; //开始状态和目标状态void turn(int i){ if (start[i] =

2022-03-17 11:26:47 159

原创 递归实现组合型枚举

题目:​​​​​​代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 30;int n, m;int way[N]; //way[]表示方案void dfs(int u, int start) //u表示当前位置,start当前最小可以从哪个数枚举{..

2022-03-17 11:04:12 830

原创 简单斐波那契

题目:代码:#include<iostream>#include<cstring>using namespace std;int main(){ int n,a=0,b=1; cin>>n; for(int i=0;i<n;i++){ cout<<a<<' '; int fn=a+b; a=b,b=fn; } return 0;}

2022-03-17 10:17:42 60

原创 递归实现排列型枚举

题目:代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int N=10;int n,s[N]; //s[]表示当前数的状态,0表示还没放数,1~n表示放了哪个数bool u[N]; //u[]表示数是否被用过,true表示用过,false 表示还未用过void d(int

2022-03-17 10:13:34 231

原创 递归实现指数型枚举

每个数选与不选都有两种,时间复杂度O(2^n)题目:代码:#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int N=16;int n,s[N]; //s[]表示每个位置的状态 0表示还没考虑,1表示选,2表示不选void d(int x){ if(x>n

2022-03-17 09:08:00 116

原创 扩展欧几里得算法(扩展欧几里得算法)

题目:题目:#include <iostream>#include <algorithm>using namespace std;int exgcd(int a, int b, int &x, int &y){ if (!b) { x = 1, y = 0; return a; } int d = exgcd(b, a % b, y, x); y -= a / b * x

2022-02-26 13:08:50 122

原创 快速幂(快速幂求逆元)

题目:代码:#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL qmi(int a, int b, int p){ LL res = 1; while (b) { if (b & 1) res = res * a % p; a = a * (LL)a % p; .

2022-02-26 11:50:21 576

原创 快速幂(快速幂)

题目:代码:#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL qmi(int a, int b, int p){ LL res = 1 % p; while (b) { if (b & 1) res = res * a % p; a = a * (LL)a % p;

2022-02-26 11:11:21 84

原创 欧拉函数(筛法求欧拉函数)

互质:两个或多个整数的公因数只有1的非零自然数题目:代码:

2022-02-22 17:40:20 75

原创 欧拉函数(欧拉函数)

题目:代码:#include <iostream>using namespace std;int phi(int x){ int res = x; for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) { res = res / i * (i - 1); while (x % i == 0) x /= i;

2022-02-22 17:14:08 149

原创 约数(最大公约数)

欧几里得算法(辗转相除法)题目:代码:#include<iostream>using namespace std;int gcd(int a,int b){ return b ? gcd(b,a%b) : a;}int main(){ int n; cin>>n; while(n--){ int a,b; cin>>a>>b;; cout<&lt

2022-02-17 19:21:26 203

原创 约数(约数之和)

题目:代码:#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int,int> primes; .

2022-02-17 19:05:50 341

原创 约数(约数个数)

题目:代码:#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int,int> primes; //存所有的底.

2022-02-17 18:36:02 153

空空如也

空空如也

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

TA关注的人

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