
刷题小心得
岁忧
(目前更新LeetCode每日一题ing)记录一些平时做的题目,写些小小的心得。
展开
-
(nice!!!)LeetCode 1235.规划兼职工作(动态规划+二分查找)
【代码】(nice!!!)LeetCode 1235.规划兼职工作(动态规划+二分查找)原创 2024-05-09 15:25:34 · 356 阅读 · 0 评论 -
康托展开||康托逆展开
康托展开参考code康托逆展开参考code原创 2024-04-26 16:56:47 · 168 阅读 · 0 评论 -
LeetCode 《组合总和》系列题目总结(很nice!!!)
LeetCode 《组合总和》系类题目总结(很nice!!!)原创 2024-04-23 12:45:23 · 859 阅读 · 2 评论 -
int 和 unsigned int 的范围
int 和 unsigned int 的范围。原创 2024-04-22 12:24:03 · 1046 阅读 · 0 评论 -
算法心得记录
最大公约数#include<stdio.h>#include<stdlib.h>int main() { int a, b, c; printf("请输入两个数\n"); scanf("%d%d", &a, &b); while (b!=0) { //不用比较被除数和除数的大小 c = a % b; a = b; b = c; } printf("最大公约数为原创 2022-10-24 20:27:55 · 395 阅读 · 1 评论 -
int和long long的取值范围比10的几次方小
int2^31 < 10^92^32 <10^9long long2^63 < 10^182^64 <10^19例题链接原创 2022-03-23 20:10:04 · 3954 阅读 · 2 评论 -
刷题注意大事项
1.容量建议开到两倍以上2.有需要用到long long 的地方建议都用long long原创 2022-03-12 23:37:21 · 369 阅读 · 0 评论 -
动态规划知识点笔记
动态规划是对爆搜的优化原创 2021-05-20 16:36:06 · 123 阅读 · 0 评论 -
排序算法模板
排序算法模板1. 快速排序void quick(int a[],int l,int r){ if(l>=r) return ; int i=l-1,j=r+1,t=a[l+r>>1]; while(i<j){ do i++; while(a[i]<t); do j--; while(a[j]>t); if(i<j){ int temp=a[i];原创 2021-05-10 16:54:16 · 89 阅读 · 0 评论 -
C++ STL之lower_bound、upper_bound函数实现和用法
C++ STL lower_bound、upper_bound头文件:#include< algorithm >lower_bound(数组开始查找的地址,数组查找结束的后一个地址,要查找的数)lower_bound、upper_bound的二分实现模板int lowerr_bound(int a[],int l,int r,int k){ while(l<=r){ int mid=l+r>>1; if(a[mid]<k原创 2021-05-03 22:21:08 · 1129 阅读 · 2 评论 -
求组合数的各方法
组合数的计算方法一:题目样例思路:递推求出c[a][b]方法二:题目样例思路:先求出a!用数组保存,然后带入公式即可,组合数 +快速幂+逆元+费马小引理方法三:题目样例思路:组合数+快速幂+lucas+费马小引理+逆元方法四:题目样例思路 :先求出分子和分母的各质素之比,然后进行高精度计算...原创 2021-04-20 22:02:37 · 233 阅读 · 0 评论 -
蓝桥杯日期问题汇总
蓝桥杯日期总结蓝桥杯很喜欢考日期的问题,所以自己整理了一些关于日期的代码。下面代码:判断日期是否符合正常日期的要求int month[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};bool pd(int u){ int ye,mo,day; ye=u/10000,mo=u%10000%100,day=u%100;//提取日期的年月日 if(mo>12||mo<1||day<1) return false; i原创 2021-04-15 19:20:30 · 1248 阅读 · 1 评论 -
next_permutation、prev_permutation
两个函数的头文件为#include< algorithm>1.next_permutationchar类型#include<iostream>#include<algorithm>using namespace std;int main(){ int n; cin>>n; int a[15]; for(int i=1;i<=n;i++) a[i]=i; do{ for(int原创 2021-04-04 20:24:00 · 283 阅读 · 0 评论 -
memset
memset函数该函数在#include <cstring> 头文件中memset(a, val, sizeof(a)) :初始化一个int 型数组a,该语句把数值val (0x00~0xFF) 填充到数组a的每个字节上,而1个int占用4个字节,所以用memset只能赋值出“每8位都相同”的int。故0x7F 7F 7F 7F是用memset语句能初始化出的最大数值。不过,当需要把一个数组中的数值初始化成正无穷时,为了避免加法算术上溢或者繁琐的判断,我们经常用memset(a, 0x3原创 2021-03-04 18:18:19 · 561 阅读 · 1 评论 -
STL注意事项和提醒
map1.map的键key必须定义“小于号”,也就是可以比较大小,然后map 会自动根据键key来升序排序;例题链接原创 2021-03-02 19:57:00 · 190 阅读 · 0 评论 -
做题注意事项,后面还会持续更新
2021.2.24做这道题总结的一些经验https://blog.youkuaiyun.com/weixin_46028214/article/details/114031397注意事项1, 类似走迷宫这种有方向的题目,一定要判断走的地方是否在范围之内2, 数组不能复制给另外一个数组,一定需要自行遍历一遍,也就是需要知道原数组的大小。新知识1,转化为string类型用函数to_string2, 基本类型之间的转化...原创 2021-02-24 18:11:58 · 116 阅读 · 0 评论 -
<<、>>、+、-以及位运算 运算符的优先级关系
<< 、>>位移运算符的优先级小于+、-运算符的优先级题目https://blog.youkuaiyun.com/weixin_46028214/article/details/113598574原创 2021-02-03 13:13:59 · 3958 阅读 · 0 评论 -
%d,%05d,%-5d,%.5d的区分
%d,%05d,%-5d,%.5d的区分%d是普通的输出%5d是将数字按宽度为5,采用右对齐方式输出,若数据位数不到5位,则左边补空格%-5d就是左对齐%05d,和%5d差不多,只不过左边补0%.5d从执行效果来看,和%05d一样#include<iostream>#include<cstdio>using namespace std;int main() { printf("%d\n", 2); printf("%5d\n", 2); printf("%-5原创 2021-01-19 23:04:18 · 34548 阅读 · 4 评论