自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

与其说是回归 不如说是与过去自己的诀别

有些东西是完完全全属于我的

  • 博客(39)
  • 收藏
  • 关注

原创 第8章 函数探幽

1.什么是内联函数2.引用变量 可以让函数处理原始数据 而不是副本3.引用变量 起个别名 完全一样4.指针与引用的联系与差别

2023-06-30 00:17:45 111

原创 第7章 函数——C++的编程模块

1.C++不可以直接返回数组 但是可以间接返回2.第一条返回语句结束3.函数返回是复制到指定的CPU寄存器或内存单元 4.不提供变量名我怎么使用这个变量呢???5.参数类型不对应的处理方法6.创建新的变量 不影响原先的值7.cin 跳过空格和换行符8.数组名代表第一个元素的地址9.只有在函数定义时 含义相同10.两个恒等式11.优点:节省复制数组需要的时间和内存 缺点:增加了破坏数据的风险12.一个是数组的长度 一个是指针变量的长度13.要这样使用

2023-06-21 13:11:24 83

原创 第5章 循环和关系表达式 第6章 分支语句和逻辑运算符

1.cin 忽略空格和换行符 只有按下回车符 字符序列才会被发送给程序2.cin.get()可以读入空格 cin.getline()也可以读入空格 只是对于换行符的处理不一样3.这里是只需要修改函数定义时的参数声明就可以 在使用时可以直接用名字4.同一个函数有多种使用方法5.文件尾EOF6.再次调用也不管用???7.可以的8.检查字符的函数9.成立为第一个 不成立为第二个10.cin的一些读取策略 我觉得这个有用11.两者的对比 cout ofstream 多了

2023-06-20 23:48:25 78

原创 第四章 复合类型

1.这里数组可以越界2.sizeof 可以求数组的长度(单位:字节) 也可以求单个的长度3.剩余的将会被初始化为04.会自动计算元素个数5.注意这个转换的6.遇到空字符停止7.字符用单引号 空字符自动加8.注意字符串双引号的问题9.sizeof strlen 区别 strlen不计算空字符10.cin遇到空格就结束11.cin可能会出现这种错误 无法判断是否超出范围12.面向行输入 getline() get() get()将换行符保留在输入序列中13.c

2023-06-19 00:01:50 72

原创 第二章 开始学习C++

C++ Prim Plus 第6版学习笔记

2023-06-15 17:28:22 107

原创 66666666666666

2023-04-26 17:15:15 70

原创 CSDN第46期编程竞赛

CSDN第46期编程竞赛

2023-04-19 21:12:43 106

原创 筛质数 朴素筛法 埃氏筛法 线性筛法

筛质数 朴素筛法 埃氏筛法 线性筛法

2023-03-28 11:15:24 66

原创 分解质因子

分解质因子

2023-03-27 23:27:21 61

原创 影分身 已知字符串str。字符串str包含字符’x’,’y’。 如果相邻的两个字符不同,消除两个字符,优先从左边进行消除。 xyyx - > yx ->

已知字符串str。字符串str包含字符’x’,’y’。 如果相邻的两个字符不同,消除两个字符,优先从左边进行消除。 xyyx - > yx ->

2023-03-23 15:11:40 178

原创 染色法判定二分图 匈牙利算法

染色法判定二分图 匈牙利算法

2023-03-23 14:35:08 53

原创 最小生成树总结 prim krusral

最小生成树 prim krusral

2023-03-23 14:30:04 135

原创 最短路总结 dijkstra spfa bellman-ford

最短路总结 dijkstra spfa bellman-ford

2023-03-23 14:16:54 42

原创 Codeforces Round 859 (Div. 4)

当时是用前缀和处理了一下 但是用前缀和会漏掉 前缀和只能表示连续序列相加 这个条件限制很大 本题的肯定不是都是连续的 所以做法不对。第一次做交互题目 当时代码其实写对了 只是有一些输入的地方漏掉了 离谱。n都漏掉了 r-l+1也漏掉了。服了 感觉被降维打击了。和二进制优化分组背包很像。这题官方题解用的动态规划。

2023-03-21 16:54:54 134

原创 动态规划 方案数问题

动态规划 方案数选择

2022-09-28 16:53:34 311

原创 第十八届西南科技大学ACM程序设计竞赛

1题目链接马拉车算法+差分#include<bits/stdc++.h>using namespace std;const int N=2e6+10;int a[N],b[N];int p[N],c[N],n;void insert(int x,int y,int z){ c[x]+=z; c[y+1]-=z;}int manacher(int l){ int r=0,mid=0,ans=0; for(int i=1;i<=l

2022-05-16 15:49:31 240

原创 求逆序对数量

求逆序对#include<bits/stdc++.h>using namespace std;const int N=1e5+10;typedef long long ll;int a[N];int n,t;ll merge_sort(int l,int r){ if(l>=r) return 0; int mid=r+l>>1; ll k=merge_sort(l,mid)+merge_sort(mid+1,r);

2022-05-11 22:12:49 89

原创 5.7个人赛

题目链接题意:自己读题解决方法:构造当s/n>1时 取k=1则无法构造出来当s/n=1时,1~s中的每一个数都可以被构造出来,所以此时必输证明:但是个人赛时结论猜出来的,有点模糊#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e6+10;ll a[N],b[N];int n,s;int main(){ scanf("%d%d",&n,&a

2022-05-07 20:29:15 300

原创 cf我要变绿

B. Getting ZeroEducational Codeforces Round 126 (Rated for Div. 2) B. Getting Zero#include<bits/stdc++.h>using namespace std;const int N=4e5+10,M=32768;int dis[N];void dfs(int k){ //if(dis[k]==15) return; if(k<1) return; int

2022-04-13 21:38:54 91

原创 resre

#include <bits/stdc++.h>using namespace std;int ans;void proc(vector<int>& a) { if (a.empty()) return; int n = a.size(); int last = 0; /*for (int i = 0; i < n; ++i) { if (a[i] == a[0]) last = i;

2022-04-09 20:50:03 211

原创 2022年上学期程序设计实践练习-1(数学,枚举)

B.求最小公倍数lcm(a,b)=a*b/gcd(a,b)ll gcd(ll a,ll b){ return b?gcd(b,a%b):a;}错误代码:if(res%ans==0||ans%res==0) ans=max(ans,res);else ans=res*ans;lcm(6,28)

2022-03-24 00:00:49 795

原创 L2-2 病毒溯源 (25 分)

输出路径题目链接记录每个点的前一个点记录最长路径的最后一个点便可以从后往前得到最长路径#include<iostream>#include<cstdio>#include<algorithm>#include<cstring> #include<queue>using namespace std;const int N=1e4+10; //int a[N],h[N],cnt[N];int e[N],ne[N],idx,

2022-03-22 20:51:13 557

原创 make_pair vector<pair<int,pair<int,int>>> p;

Codeforces Round #486 (Div. 3) C. Equal Sums#include <bits/stdc++.h>using namespace std;const int N=2e5+10;int a[N],k,n; //int k,n;vector<pair<int,pair<int,int>>> p;int main(){ scanf("%d",&n); for(int i=1;i&l

2022-03-07 11:43:53 205

转载 时间复杂度分析

作者:yxc链接:https://www.acwing.com/blog/content/32/来源:AcWing著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2022-02-15 09:02:15 72

原创 差分 一维差分 差分矩阵

一维差分b[i]=a[i]-a[i-1]b[i]的前缀和为a[i]作用:帮助我们把原序列上的区间操作转化为差分序列上的单点操作,降低求解难度不用管差分序列怎么构造,只考虑如何插入#include<iostream>using namespace std;const int N =100010;int a[N],b[N];int n,m;void chai(int q,int l,int r){ b[q]+=r; b[l+1]-=r;}int main

2022-02-12 10:42:20 301

原创 遇到过的错误

#include<iostream>#include<algorithm>#include <cstring>#include<cstdio>using namespace std;const int N=50100;int s[N][N];int main(){ int n,x,y,d,i=0,j=0,r; scanf("%d%d",&n,&r); while(n--) { ...

2022-02-11 22:48:35 961

原创 数论 逆元

逆元定义:若整数 b,m 互质,并且b|a,则存在一个整数 x,使得 a/b≡a×x(mod m),则称 x 为 b 的模 m 乘法逆元,记为 b−1(mod m)。最后两步:a≡a mod (m) 推出 bx≡1(mod m) 如果不为1,则矛盾所以最后即解同余方程bx≡1(mod m)求法:m为质数时:快速幂 b的m-2次方m不是质数:利用扩展欧几里得定理求解同余方程bx≡1(mod m) 等价于 bx+my=1逆元作用:不希望做除法 用逆元来替代分母,求逆元的过程中也只用到分母,与分子

2022-02-10 17:51:47 964

原创 等比数列求和

1.代替公式 每一步都可以mod p ,公式直接算可能会超出范围 ,这样不会2.等比数列公式

2022-02-09 16:25:52 424

原创 数据结构实际用法

1.mapunordered_map<int, int> primes; while (n -- ) { int x; cin >> x; for (int i = 2; i <= x / i; i ++ ) while (x % i == 0) { x /= i; primes[i] ++ ;

2022-02-09 16:11:02 654

原创 Codeforces Round #767 (Div. 2) D. Peculiar Movie Preferences

//#include<iostream>//#include<cstring>#include<bits/stdc++.h>using namespace std;map<string,int> a,b;//1.map的用法void solve(){ a.clear(),b.clear();//2.清除 int n;string s; bool st=0; scanf("%d",&n); for(

2022-01-25 20:12:23 585

原创 背包问题 01背包 完全背包 多重背包 分组背包

01背包问题描述:给定N个物品,每个只有一件,每个物品都有相应的价值w与体积v,给定体积为M的背包,求背包所能装的最大物品价值。分析:每个物品分为选和不选两种方案,所以一共有2的n次方种方案,方案数量特别多,暴力做法不可取。解决方法:用 f[ i ][ j ] 表示在前i个物品中选择方案,且选择方案总体积不超过j时的最大价值。那么 f[N][M] 就表示在前N个物品中选择,且体积不超过M的最大价值,也即我们要求的最大价值。...

2022-01-22 12:10:32 779

原创 导弹防御系统 dfs 为什么不用回溯

#include <iostream>#include <algorithm>using namespace std;const int N = 55;int n;int h[N];int up[N], down[N];int ans;void dfs(int u, int su, int sd){ if (su + sd >= ans) return; if (u == n) { ans = min(ans,.

2022-01-20 18:35:58 445

原创 二分法求解最长上升子序列

二分法求解最长上升子序列

2022-01-20 13:17:35 846

原创 二分情况分析

二分情况分析 边界问题

2022-01-20 11:19:57 634

原创 一些特殊用法总结

一些特殊用法总结

2022-01-19 22:23:48 198

原创 DP问题 数字三角形模型 方格取数 传纸条

DP问题 数字三角形模型 方格取数 传纸条

2022-01-19 16:47:28 102

原创 Codeforces Round #762 (Div. 3) Problem-D New Year‘s Problem

题意有m个商店和n个朋友,每个商店中都有n个礼物,每个礼物都有一个快乐值,礼物标号为1~n,为朋友挑选的礼物的标号必须与朋友的标号对应(为第x个朋友挑选的礼物必须是某个商店中的第x个礼物)。要求:只能访问n-1个商店,并且礼物的快乐值应该尽可能大。求所有挑选出的礼物快乐值的最小值。分析题目要求n个朋友的礼物只能在n-1个商店中挑选,所以我们必须在某个商店中买不止一个礼物。如果我们找到了买了2个礼物的商店,那么剩下的n-2个礼物可以在m个商店中任意选择(因为无论如何选择,最多不会超过n-2个商店)思路

2022-01-18 14:18:54 200

原创 图的存储与遍历

存储核心代码void add(int a, int b){ e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;}其中idx作用是充当数组的下标,可以理解为一个位置h[a]数组:a代表点,代表图中所有的点.h[a]的值为a这个点指向的位置,与ne[idx]数组的作用类似插入时采用头部插入插入过程:首先插入的是一条边,一条由a指向b的边,点a为图中所有点中的一个,即h[a]中a所代表的一个点.b是我们需要插入的.插入位置为idx,ne[idx] =

2021-08-04 15:19:22 311 2

原创 strlen函数原理

原理为while(*s++!=’\0’) cnt++;首先需要了解一些基础知识:1.数组内的存储形式为对应元素的ASCII码2.\0代表无字符 ,注意无字符并不是数字0也不是空格‘\0’ 单引号即代表了\0的ASCII码,而\0的ASCII码刚好为0{容易混淆的几个:\0的ASCII码:0空格的ASCII码:320的ASCII码:48}也就是说 也就是说strlen函数在遇到\0时就停止计数(即遇到ASCII码为0时),由于存储形式为ASCII码,0的ASCII码为48,所以遇到数字0

2021-08-02 18:08:25 3428 1

空空如也

空空如也

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

TA关注的人

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