- 博客(24)
- 收藏
- 关注
原创 最长递增子序列和最大公共子序列
一.最长递增序列:链接详细解析:https://blog.csdn.net/qq_41765114/article/details/88415541二.最大公共子序列解析:先简单讲下怎么O(nlogn)搞一个最长上升子序列吧。考虑一个数列5 2 3 1 4首先,把5加入答案序列中,然后加2,发现2<5所以显然2替换5不会使结果更差,那么答案序列就是{2},然后加3,发现3>2,所以直接把3加到答案序列中:{2,3}然后加1,我们发现1<3,于是我们找到一个最小的但是
2022-03-27 22:43:56 207
原创 回文日期(蓝桥杯)
int 类型取出各位的方法:“ % ”除掉前面的," % "后面的时剩下的几位;“ / ”除掉后面的 用来取一个int整数的各个位置eg:对于数abcdea=abcde/10000b=(abcde/1000)%10c=(abcde/100)%10d=(abcde/10)%10e=(abcde/10)%10#include<iostream>#include<map>#include<math.h>using namespace std;//“%.
2022-03-19 10:59:38 456
原创 前缀和与差分法的简单总结
一维前缀和:预处理:sum[i]=sum[i-1]+a[i];查询:sum[r]-sum[l-1]二维前缀和:预处理:s[i] [j] = s[i-1][j] + s[i][j-1 ] + a[i] [j] - s[i-1][ j-1]查询:以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:s[x2, y2] - s[x1 - 1, y2] - s[x2, y1 - 1] + s[x1 - 1, y1 - 1]对于区间(l,r)一维差分:预处理:b[i]=a[i]-a.
2022-03-15 21:51:28 397
原创 差分法算区间加法
例题差分法介绍:假设我们现在要给[2,5]这个区间加一。原来的序列是:0 0 0 0 0 0 0 0这时候我们在2上面打 +1 标记, 6 上面打 -1 标记。那么现在的序列是:0 +1 0 0 0 -1 0#include<iostream>#include<math.h>#include<algorithm>using namespace std;#define ll long long int a[1002][1002]={0},flag
2022-03-15 10:03:09 324
原创 最大子段和(dp数组和滚动数组)
方法一:dp暴力题解(费空间)使用一个b数组来记录遍历到该点时,前面的最大子段和,然后用max函数,ans来比较,选出最大的子段。#include<iostream>#include<math.h>#include<algorithm>using namespace std;#define ll long longint a[200005],b[200005];int main(){ int n,ans=-99999; cin>>n.
2022-03-14 20:11:06 1062
原创 直线交点数
题解分析:我们将n条直线编号,分别称为直线1、直线2、…、直线n。直线2 与直线1 最多有一个交点,直线3与直线1和直线2最多有2个交点,……,直线n与其它 (n-1) 条直线最多 (n-1) 个交点。由此看出,n条无三线共点的直线最多的交点数 max=1+2+…+(n-1)=n(n-1)/2但本题我们要求解的是:这 n 条直线共有多少种不同的交点数? 仍然从举例出发。下面列举了 n=1、2、3、4 四种情况各自的交点情况:具体分析一下 n=4 的情况:1)4 条直线全部平行,则 0 交点 .
2022-03-14 10:28:59 744
原创 进制转换(10toR)/(Rto10)
例题进制转换技巧1.r进制转10进制1.10进制转r进制用短除法#include <iostream>//输入输出流#include <string>//字符串#include <stack>//栈//个人认为还是不用万能头好,用了万能头就需要很注意变量名的使用,避免重名。using namespace std;string num;//这里用不限长的字符串,比字符数组好//n转10进制(位值原理)int convert(string nu
2022-03-11 16:02:43 255
原创 树状数组(求区间)
#include<bits/stdc++.h>#include<math.h>#include<algorithm>using namespace std;#define ll long longint n,m,a[10000];int getLowBit(int x){ return x&-x;}void add(int x,int k){ for(;x<=n;x+=getLowBit(x)) a[x]+=k;}in..
2022-03-11 11:46:52 182
原创 食物链(拓扑排序)
例题拓扑排序详解https://zhuanlan.zhihu.com/p/339709006该题详解:https://www.cnblogs.com/CJYBlog/p/12198894.html用到了广度遍历搜索方法#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 5e3 + 2; //定义常量大小 const int mod = 80112002; //定义最
2022-03-06 16:15:47 401
原创 质数筛加并查集
质数筛 详细链接https://blog.csdn.net/YSJ367635984/article/details/108929586#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cstdlib>#include<cmath>#define maxn 100010using namespace std.
2022-03-05 14:37:25 213
原创 应用快速幂求数的潜能
思路:将这个数分为n个3和一个其他的数,(不能是1)若还是3则ans=pow(3,num/3)若是2则ans=pow(3,num/3)*2,若是3则ans=pow(3,num/3-1)*4#include<bits/stdc++.h>using namespace std;const int N=1e5+5;typedef long long ll;ll mod=5218;ll n,tem,ans;ll fun(ll a,ll b){ ll res=1; wh.
2022-02-28 17:58:35 103
原创 二叉树用邻接矩阵存储,并用广度优先搜索算法遍历
例题BFS算法遍历模板:#include <stdio.h>int book[110] = {0}, e[110][110];int n;int que[10010], head, tail;int main(){ scanf("%d", &n); int i, j; for(i = 1; i <= n; i++) { for(j = 1; j <= n; j++) {
2022-02-27 16:16:59 314
原创 状态压缩总结(含例题)
状态压缩讲解链接:https://www.bilibili.com/video/BV1Z4411x7Kw?from=search&seid=2428304808748488344&spm_id_from=333.337.0.0例题重要dp数组:F[i][k]表示走到了第i个点,已经走过了k个点,这k个点用二进制的01来表示,一共有(1<<n)-1种情况即2的n次方-1种。部分代码块讲解:1.状态方程:F[ i ][ k ]=min(F[ i ][ k ],F[
2022-02-21 17:34:30 244
原创 二分法求A-B数对
方法1:用map容器映射这一题将A-B=C转换成A-C=B,首先将A数组每个元素出现的次数统计起来,用map映射,最后将A数组每次减一个C,再将A数组扫一遍,将所有映射的次数和加起来就是答案#include<bits/stdc++.h>#include<math.h>#include<algorithm>using namespace std;int n,c,a[200005];map<int,int> m;int ans=0;int .
2022-02-16 15:44:36 849
原创 选数问题(应用递归)
深度搜索方法:使用递归算法进行遍历#include<bits/stdc++.h>#include<math.h>using namespace std;int n,k; int a[20];bool isPrime(int x){ for(int i=2;i<=sqrt(x);i++) { if(x%i==0) return false; } return true;}int dfs(int leftNum,int totalSum,in
2022-02-10 14:06:59 437
原创 数字游戏(穷举)
注意:n只到10,所以可以穷举数组,使用*do{}while(next_permutation(a,a+n))*函数将数组当中的数按照从小到大的字典序进行排列思路:然后定义一个判断的数字,当sum算到随后的和为输入的那个数的时候判断的数字就改变终止循环,否则循环到最后一个字典序最大的数组如果判断条件对了,就输出这个数组,如果判断条件错了就不输出*do{}while(next_permutation(a,a+n))是c++函数库中对字典序列从小到大遍历的函数,还有do{}while(next_pre
2022-02-05 18:19:01 1856
原创 泰森数(压位操作)
1.位数的计算用公式:2.将每一位都变成最少五位的数,将原来每位只有一位数转为五位数,减少时间复杂度#include<iostream>#include<stdio.h>#include<cmath>#define maxn 100000using namespace std;int main(){ int i,j,a[102]={0}; int p; scanf("%d",&p); printf("%d\n",(int)(p*log.
2022-02-04 17:33:09 261
原创 数字转为汉语读法
数字转为汉语读法方法:1.先考虑一般情况:一个数子每位数读最大概率就是数字+数位(注 意没有ge,然后shi wan 读成shi),所以一定是多个if条件的最后else部分,其中每 个if考虑特殊情况;2.特殊情况数字是0,此时又分2种情况读数字:1或多个0只读最后一个且后面跟的不是0,如1001,101读单位:当0在yi wan 位的时候需要读出单位3.数字是1:只有1打头且在shi yi,shi wan, shi 位上时才不读数字,只读单位#include <ios
2022-01-28 16:54:48 1756
原创 NNN皇后问题
1.N皇后问题回溯法,递归法,深度优先//N皇后问题#include<iostream> #include<math.h>using namespace std;#define N 20 //皇后的数量int q[N]; //各行皇后所在的列int count = 0; //统计N皇后问题解的个数void prints(int n){ for(int i=1;i<=n;i++) { for(int j=1;
2022-01-26 20:55:54 878
原创 贪心算法实例
对于一个字符串能否变成回文串 ,判断两种情况1.从后边找不到对应的字符—字符串长度为偶数,不能有字符个数为1的字符;如果长度为奇数,只能有一个字符个数为1的字符2.再判断从后边能找到对应的字符–这时候就把这个字符移动到前边字符对应后边的位置,前边和后边的这两个字符分别向后和向前移动#include<iostream> using namespace std; int main(){ int n; string s; cin>>n>>s; int co
2022-01-25 17:51:42 367
原创 用Unity的简易CS制作(不完整版)
用Unity的简易CS制作(不完整版)学会了AI和UI的一部分操作和使用,但是对animator的一些代码操作还学深入学习,对于大型项目要学会分好不同的类,并用GitHub管理。***Palyer类***using System.Collections;using System.Collections.Generic;using UnityEngine;public class Player : MonoBehaviour{ public Transform m_transform
2021-03-08 22:11:44 625
原创 期末项目设计 C语言写的连连看`
期末项目设计 C语言写的连连看`学会熟练运用C语言,以及一些做游戏的简单思路,还有esayX的图形界面的使用等。#include<stdio.h>#include<graphics.h>#include <conio.h>#pragma comment(lib,"Winmm.lib")#pragma warning(disable : 4996)#define IMG_SIZE 39 #define MAX_ANIMAL_NUM 42 #define M
2021-03-07 22:19:26 778 1
原创 unity写的简单考古探险
用unity写的考古探险,学会用烘焙等技术,还有寻路系统在这里插入代码片物体camerausing System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraFollow : MonoBehaviour{ public Transform hero; private Vector3 offset; void Start() {
2021-03-07 22:12:35 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人