基本处理技巧
qq_43674811
这个作者很懒,什么都没留下…
展开
-
算法中的预处理操作
打表题目打两个表,分别记录左侧的最大值以及右侧的最小值。#include<bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;const int maxn=100010;int a[maxn],n;int leftmax[maxn];int rightmin[maxn];vector<int> re;int main(){ memset(leftmax,-inf,sizeof leftma原创 2021-09-09 14:20:32 · 95 阅读 · 0 评论 -
快速幂与矩阵快速幂
参考传送门 快速幂快速幂是基于二分的思想,时间复杂度为O(log(n))。原理:如下图:a^57=a^1 * a^8 * a^16 * a^32ll qp(ll a,ll n){ ll ans=1; while(n) { if(n&1) ans*=a; a*=a; n=n>>1; } return ans;}模下快速幂数论知识:(a*b)%c = (a%c * b%c)%c(a+b)%c = (a%c + b%c)%cll qpm(ll原创 2021-04-15 21:11:40 · 198 阅读 · 0 评论 -
蓝桥杯寒假作业(全排列模板)
题目题解注意整除要加上条件 a%b==0记住该模板#include<bits/stdc++.h>using namespace std;int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13};//0~12int ans=0;bool check(){ if(a[0]+a[1]==a[2]&& a[3]-a[4]==a[5]&& a[6]*a[7]==a[8]&&原创 2021-04-14 08:49:43 · 212 阅读 · 0 评论 -
组合基本知识与解题方法
组合数种类的公式#include<bits/stdc++.h>using namespace std;typedef long long ll;ll Cmn(ll m,ll n)//从m个选n个的种类数{ if(n==m||n==0) return 1; else return Cmn(m-1,n)+Cmn(m-1,n-1);}利用dfs枚举组合数的种类参考:https://blog.csdn.net/qq_43328040/article/details/8727原创 2021-04-03 17:26:39 · 103 阅读 · 0 评论 -
基本常识
日期处理蓝桥杯回文日期参考:https://blog.csdn.net/mr_ghost812/article/details/104220234给出一个8位数(yyyymmdd)check是否是合格的日期int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool check(int date){ int year = date / 10000; int mouth = (date / 100)原创 2021-03-28 00:25:44 · 79 阅读 · 0 评论