自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

众人皆醒 我独醉

落日的余晖只是被积云遮蔽

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

原创 结论---

每次做题收获的一些个人总结的知识点(如有不对 望指出)一 数论:1. 如果一个数没有奇因数,那么他一定是2的次幂(cf #697 (Div. 3) A)2. 与运算符(&)(优先级低于== 一定要注意括号)两个同时为1,结果为1,否则为0;“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的

2021-01-27 18:55:35 224

原创 239. 滑动窗口最大值 (单调队列 模板

情况二:如果队尾的值小于等于当前值,则pop_back()情况一:判断数组值是否在滑动窗口的范围。情况三:将当前值加入队尾,队头作为答案。单调队列是求解滑动窗口的最大值。

2024-01-13 23:30:44 455

原创 739. 每日温度 (单调栈)

从后向前遍历,如果栈中比当前温度小或等于的直接舍弃,保证栈顶的温度是比当前温度高的,最后将当天温度加入栈顶。

2024-01-13 23:04:23 401

原创 162. 寻找峰值 (思维二分

左边值比中间值小则调整l。

2024-01-13 18:41:26 434

原创 162. 寻找峰值 (二分 模板)

mid=l+r+1>>1 if(check())l=mid else r=mid-1 右区间。

2024-01-13 18:33:46 443

原创 3. 无重复字符的最长子串 (同向双指针

【代码】3. 无重复字符的最长子串 (同向双指针。

2024-01-13 00:21:55 372

原创 LCR 009. 乘积小于 K 的子数组(同向双指针

同向双指针 固定r指针 滑动窗口 for +while。

2024-01-13 00:21:07 382

原创 LCR 008. 长度最小的子数组 (同向双指针

滑动窗口 固定右指针。

2024-01-13 00:04:26 398

原创 42. 接雨水 (双向双指针 最大前缀和后缀)

左右两边的前缀和后缀最低高度来决定最终的水体积,最终的min-高度为可存储的水。

2024-01-12 22:36:09 414

原创 11. 盛最多水的容器 (相向双指针)

如果一个边a固定,则比他小的边b长度只会更小,高也会更低,面积也就更小,如果是比他大的边b,会被a的更矮边作为面积,同时长也会更小。

2024-01-12 22:09:29 391

原创 15. 三数之和 (相向双指针

三个指针,分别i,i+1,n-1,双重循环遍历,如果当前i或j与上一个重复则忽略。

2024-01-12 22:05:38 385

原创 167. 两数之和 II - 输入有序数组(双指针

【代码】167. 两数之和 II - 输入有序数组(双指针。

2024-01-06 20:04:32 491 1

原创 2982. 找出出现至少三次的最长特殊子字符串 II (规律 分类讨论

情况1:只有一个最长字串L1,那最长长度就是L1-2。情况2a:两个子串,长度不同时,则取最小的哪个长度。找三个长度最长的子串,先把相同字母的字串统计起来。情况2b:两个子串长度相同时,取最小长度L2-1。情况3:三个子串中取最小的长度L3。

2024-01-06 17:21:53 439

原创 2980. 检查按位或是否存在尾随零 (数论)

或运算使位尾为0,找两个偶数即可。

2024-01-06 17:15:14 388

原创 P1196 [NOI2002] 银河英雄传说 (并查集 合并

添加链接描述

2022-07-10 11:41:46 400

原创 P6154 游走(记忆化搜索

添加链接描述

2022-06-11 15:04:32 317

原创 P1434 [SHOI2002] 滑雪 (记忆化搜索

添加链接描述

2022-06-11 14:45:42 250

原创 B. I Hate 1111 (记忆化搜索 数论

添加链接描述可以发现高位的1111都可以由11或者111组成 那么判断是否能被11整除 或者减去111再整除记忆化mp存储是否可以组成

2022-06-11 12:01:26 217

原创 A. Vacations (dp 贪心

添加链接描述dp方程是选择健身 选择工作 选择比赛的最少休息天数

2022-06-11 11:57:57 202

原创 C. Given Length and Sum of Digits...(贪心 构造

添加链接描述给长度和数位的和 求最大值和最小值

2022-06-11 11:55:38 277

原创 E. Polygon(思维

添加链接描述从右下角向左上角便利 如果在边缘那就是最先开始的,否则要判断他的i+1或者j+1是否有根据

2022-06-07 22:56:41 211 1

原创 B. Just Eat It! (连续最大子段和

添加链接描述如果为整数就相加 否则就为当前数 取mx就是连续最大子段和

2022-06-07 22:54:38 133

原创 C. Equalize (贪心 思维

添加链接描述可以发现当相邻时交换是最优的,否则那就是改变01最优,因为改变的花费为1

2022-06-07 22:53:07 95

原创 A. Strange Birthday Party(贪心

添加链接描述

2022-06-07 21:41:12 134

原创 B. Move and Turn(数论 思维

添加链接描述如果是偶数,可以上下和左右分别走n/2+1如果是奇数,左右上下分别为n/2+1或者n/2+2 两种情况要累加A robot is standing at the origin of the infinite two-dimensional plane. Each second the robot moves exactly 1 meter in one of the four cardinal directions: north, south, west, and east. For t

2022-06-05 21:54:14 149

原创 C. Lose it! (map 思维

添加链接描述删除元素,使得序列满足固定的数字

2022-06-05 21:51:13 85

原创 A. Cut Ribbon(完全背包 满足条件

添加链接描述为了装满背包 需要初始化为负无穷 ,dp0=0

2022-06-05 21:49:05 123

原创 B. Ternary String(双指针

添加链接描述找到最短连续子序列为包含123

2022-06-05 21:47:10 108

原创 P3372 【模板】线段树 1 (区间修改 区间查询

添加链接描述

2022-06-04 17:01:28 86

原创 P3368 【模板】树状数组 2 (差分

添加链接描述

2022-06-04 16:33:51 140

原创 P3374 【模板】树状数组 1

添加链接描述

2022-06-04 16:23:52 104

原创 P1886 滑动窗口 /【模板】单调队列 (滑动窗口

添加链接描述

2022-06-04 16:03:08 104

原创 E. Tetrahedron (线性dp 压缩空间

添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e7+9;#define int long longint mod=1e9+7;signed main(){ std::ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); int n; cin>>n; // dp[2][0]=3; // dp

2022-05-21 20:27:49 181

原创 A. Boredom(线性dp

添加链接描述#include<bits/stdc++.h>using namespace std;#define int long longconst int N=1e5+9;int mp[N],dp[N][2];//前i个数的最大分数 选或不选signed main(){ int n; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; m

2022-05-21 19:54:52 156

原创 7-3 家谱处理 (树的存储

添加链接描述#include<bits/stdc++.h>using namespace std;map<string,string>fa;string num[110];int main(){ int n,m; cin>>n>>m; getchar(); for(int i=1;i<=n;i++){ string s; getline(cin,s); int su

2022-05-14 12:54:55 201

原创 带黄狗的礼物 (重复组合问题 概率论

添加链接描述从n个数选m个数 不考虑顺序,每个数可以选任意次的方案数为C(m+n-1,m)#include<bits/stdc++.h>using namespace std;const int N=2e7+9,mod=1e9+7;#define int long longint q_pow(int a,int b){ int ans=1; while(b){ if(b&1)ans=ans*a%mod; a=a*a%mod;

2022-05-12 09:26:02 161

原创 P1077 [NOIP2012 普及组] 摆花

添加链接描述#include<bits/stdc++.h>using namespace std;const int N=110,mod=1e6+7;int dp[N][N],arr[N];//前i朵花 一共j朵的方案数int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++)cin>>arr[i]; dp[0][0]=1; for(int i=1;i&lt

2022-05-12 08:24:53 90

原创 CF414B Mashmokh and ACM (dp

添加链接描述#include<bits/stdc++.h>using namespace std;const int N=2100,mod=1e9+7;int dp[N][N];//长度为i 最大元素为j种类int main(){ int n,k; cin>>n>>k; // dp[0][0]=1; for(int i=1;i<=n;i++)dp[1][i]=1; for(int i=2;i<=k;i++){

2022-05-12 08:18:44 98

原创 P1057 [NOIP2008 普及组] 传球游戏 (dp

添加链接描述dp表示 传递i次后第j个人的方案数当前人的方案数等于左边或者右边传递的总和#include<bits/stdc++.h>using namespace std;const int N=35;int dp[N][N];int main(){ int n,m; cin>>n>>m; dp[0][1]=1; for(int i=1;i<=m;i++){ for(int j=1;j<=n;j+

2022-05-11 22:10:40 389

原创 P1048 [NOIP2005 普及组] 采药 (滚动数组 01背包

添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1100;int dp[2][N],g;int main(){ int T,M; cin>>T>>M; for(int i=1;i<=M;i++){ int x,y; cin>>x>>y; g=1-g; for(int j=0

2022-05-11 22:03:11 105

空空如也

空空如也

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

TA关注的人

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