自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP模板

KMP模板#include <iostream>using namespace std;const int M = 1e5 + 10, N = 1e6 + 10;int m, n;char p[M], s[N];int ne[M];//int main() { cin >> m >> p + 1 >> n >> s + 1; //处理next数组 for(int i=2,j=0;i<=m;i++

2021-07-01 11:30:33 180

原创 N皇后问题优化

N皇后变形题 https://www.acwing.com/problem/content/1434/传统做法会在n=13时TL,学习了一下位运算。传统回溯方法#include<iostream>#include<algorithm>#include<math.h>#include<string.h>using namespace std;int a[15];int num;int n;bool check(int x,int k){

2021-01-26 21:30:43 268

原创 ST表模板和树状数组模板

ST表模板ST表模板,时间复杂度0(nlogn)预处理,0(1)查询,0(nlogn)空间a[i][j]表示从i开始长度为2^j的范围int d[10000][25];int mt[10000];void initst(){ for(int i=0;i<n;i++) a[i][0] = a[i]; for(int j=1;j<n;j++) //先循环j后循环i for(int i=0;i+1<<(j-1)<n;i++) { d

2020-05-25 11:50:15 244

原创 GUI答题程序

记录一下第一个GUI大程序,也是因为临近交作业的时候才临时抱佛脚,人的潜能总是无限的,因为时间紧而且很多知识都是刚学的,运用不太熟练,多见谅,以后有机会再优化一下代码,这里就放上主要代码(代码不全),若有兴趣可联系。package ansapp;import javax.swing.*;import javax.swing.border.Border;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.even

2020-05-15 12:59:32 981 4

原创 正方形(矩阵dp)

221.最大正方形(leetcode)在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4思路:我们用动态规划来考虑这个问题,dp[i][j]表示以i,j为右下角,所有数据为1的的最长边长,我们只需要求出所有dp[i][j]来,取最大值的平方就是最大面积。如果该位置的值是 0,则 dp(i, j) = 0,因为当前位置不可能在由 1 组成的正方形中;如果该位置的

2020-05-08 18:32:09 2137

原创 鸡蛋掉落问题

leetcode 887.鸡蛋掉落#include<iostream>#include<vector>using namespace std;int superEggDropBS(int K, int N) { if (K == 1) return N; if (N == 1) return 1; vector<vector...

2020-04-11 22:11:00 306

原创 差分矩阵模板

差分矩阵S[i, j] = 第i行j列格子左上部分所有元素的和以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:S[x2, y2] - S[x1 - 1, y2] - S[x2, y1 - 1] + S[x1 - 1, y1 - 1];#include<iostream>using namespace std;int a[1010][1010];in...

2020-04-10 20:37:28 256

原创 高精度数的相加相减(大数相加/减)

高精度数相加//A,B 为高精度的数列倒序 vector<int> add(vector<int>& A,vector<int>& B){ if(A.size()<B.size()) add(B,A); int t=0; vector<int> C; for(int i=0;i<A.size();i++) ...

2020-04-08 21:42:10 337

原创 快速排序算法模板和归并排序模板

快速排序算法模板(以中间为基准点)void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] &...

2020-04-06 19:26:11 314

原创 矩阵连乘问题

所谓矩阵连乘问题,就是用动态规划的方法来求出如何“分解”连乘式,例如A1A2A3可以分为两种计算方法,一种是(A1A2)A3,另一种是A1(A2A3),如果三个矩阵分别为10×100,100×5,5×50,则第一种所需要的乘法次数为7500,而第二种的乘法次数为75000。(m×n和n×p的的两个矩阵相乘所需要的乘法次数为m×n×p)。我们需要两个二维数组m(i,j)用来表示第i个矩阵到第j个矩...

2020-03-16 11:21:05 2253

原创 整数划分(递归)

整数划分(一)n=m1+m2+…+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,…,mi}为n的一个划分。如果{m1,m2,…,mi}中的最大值不超过m,即max(m1,m2,…,mi)<=m,则称它属于n的一个m划分。这里我们记n的m划分的个数为q(n,m);根据m和n的关系可将问题划分为:1.n或m<0时, q(n,m)=0;2.n或m...

2020-02-24 19:32:48 407

原创 数论:快速幂,素数筛

文章目录快速幂素数普通素数筛欧拉筛快速幂int qupow(int a,int b,int m){ int ans=1; while(b!=0) { if(b%2==1) ans=ans*a%m; a=a*a%m; b=b/2; } return ans;} 位运算代码为int qupow(int a,int b,int m){ int ans=1; ...

2020-02-20 14:36:49 232

原创 清除浮动

html清除浮动的常用方式1.给父级加一个高度(高度要大于孩子的高度第二个div中的内容和第一个div的内容在一行若要清除浮动可以给div设一个高度(大等于li的高度)就能够清除浮动2.给父级clear:both;但是我们发现两行是紧挨着的,这是因为clear:both;会使盒子的margin失效。所以我们可以在两个div之间加一个无任何内容的div,并把它clea...

2019-08-27 17:35:24 218

空空如也

空空如也

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

TA关注的人

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