自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线性代数的本质(个人笔记)

线性代数的本质

2022-08-20 02:32:44 2275 1

原创 前端七七八八

HTML与CSS1.软件架构B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式.Web浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.B/S主用于JavaWeb,而C/S主用于JavaSE2.前端流程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hdg4fdZJ-1638427594679)(https://s3.jpg.cm/202

2021-12-02 14:47:09 788

原创 组合数的计算方式

虽然标题起的是组合数,但应该组合数学的总结性知识都会写…只不过更新不定时(.组合数的计算方式1.预处理  这种一般适用于求的CabC_a^bCab​的a,b范围比较小,不会MLE的情况.一般是通过这种递推式处理:Cij=Ci−1j+Ci−1j−1C_i^j = C_{i-1}^j+C_{i-1}^{j-1}Cij​=Ci−1j​+Ci−1j−1​2.阶乘逆元  适用于时间复杂度O(N)O(N)O(N),且模数为质数的情况.因为Cab=a!b!(a−b)!C_a^b = \frac {a!}

2021-06-11 15:33:07 419

原创 最短路算法整理 七七八八的总结

最短路算法整理1.Dijkstra 算法先讲讲朴素的Dijkstra算法的思路.朴素的Dijkstra算法先将起点入队.然后找到一个起点距离最近的点.再用这个点去更新其他所有的点.一共有多少个点就进行多少次迭代.因为每次找到一个用于更新距离的点.它的最短距离就已经确定了.核心代码:#include <iostream>#include <cstring>using namespace std;#define INF 0x3f3f3fconst int N = 510;

2021-04-26 20:18:55 154

原创 Missile Silos CodeForces - 144D

原题链接考察:dijkstra思路:可以证明一定不存在dist[u]+w1(w1>w/2) = d(该点离v更近.)的情况.#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;const int N = 1e5+10;typedef pair<in

2021-03-25 19:46:16 123

原创 Task HDU - 4864

原题链接考察:贪心+排序思路:存储每个等级下对应机器,然后二分查找.时间复杂度:100000* 100 *测试用例个数本感觉会TLE,但实测只用187ms,估计break剪枝立大功.要注意的是我们对于每一个任务要找与它等级相等的机器,因为后面的任务可能等级很高,我们要用xi大的机器才能完成.所以xi大的机器尽可能留着不用.但是还有一点觉得很怪,就是以下数据,私以为任务数应该是2,但是网上的题解基本没有说到这个的…可能是我理解错了题意.不然可能需要100->yi和yi->100都检

2021-03-24 21:37:54 126

原创 卡片游戏 HDU - 4550

原题链接考察:模拟+贪心思路:我们不要先考虑0,先考虑放在开头的数字,可以发现放在开头的数字的左边都是按大小顺序放好,放在开头右边的数字都是原封不动的放在后面.由此可解题要小心N=1的情况#include <iostream>#include <cstdio>#include <cstring>#include <deque>using namespace std;const int N = 110;char s[N];int len;

2021-03-24 19:28:45 102

原创 Fibonacci again and again HDU - 1848

原题链接考察:博弈论 sg函数思路:sg[0]为必败态,其中n,m,q是3个有向图游戏,根据定义它们的异或和是sg值.根据sg值判定胜负#include <iostream>#include <cstdio>#include <set>#include <cstring>using namespace std;const int N = 1010;int f[N],n,m,p,fb[N];int sg(int x){ if(f[x]!

2021-03-21 16:13:55 55

原创 Good Luck in CET-4 Everybody! HDU - 1847

原题链接考察:博弈论 sg函数思路:sg(0)是必败态,假设当前结点x枚举每一个x能达到的点,sg函数记录最小不能达到点.根据sg函数的性质,求出sg(n)的大小.#include <cstdio>#include <set>#include <cstring>#include <iostream> using namespace std;const int N = 1010;int n,f[N];int sg(int x){ if(

2021-03-21 15:51:04 110

原创 跳蚤 POJ - 1091

原题链接考察:容斥原理思路:实际是转化为a1x1+a2x2+a3x3+…+anxn = 1(取左边为正),这里有点容易想到买不到的数目那道题,比较容易联想到当gcd>1时就无解.但是真正推理是由exgcd推来,先看ax+by = 1转化为ax%b = 1%b(当此方程有解时是1==gcd(a,b))由此推到多维方程.#include <iostream>#include <algorithm>#include <cstdio>using namespa

2021-03-20 21:36:45 56

原创 GCD HDU - 1695

原题链接考察:容斥原理fw本f,二刷还是没想到.思路因为x,y与y,x是重复的,所以只计数x,y(y>=x)的个数.暴力枚举的话是O(n2),需要优化.一般优化第二重循环.也就是对于每一个x,找到与它gcd(x,y) = k的y.gcd(x,y) = k —>gcd(x/k,y/k) = 1.这里比较容易想到欧拉函数,但是欧拉函数求不出来,原因在与y/k互质的数不一定会与i/k互质.那么如何找到与x/k互质的数?将x/k分解质因数,如果x/k~y/k之间有质因数的倍数,那么一定不互质,

2021-03-20 19:00:50 139

原创 P1134 [USACO3.2]阶乘问题

原题链接考察:思维思路:0是由2和5的因子凑出来的,因此阶乘时只乘除2与5外的因子即可,但是2的因子比5的因子多,所以剩余还有2的因子数-5的因子数还没累乘,全部乘上%10即可.不要被0的数目束缚,求出100的数目 再%,这样可能会爆数据.#include <iostream>#include <cstdio>#include <cstring>using namespace std;int get(int n,int x){ int sum = 0

2021-03-19 23:48:05 162

原创 Mysterious Bacteria LightOJ - 1220

原题链接考察:唯一分解定理思路:之前的解法分类情况太多,复习本题想到更省事的解法.求最大的指数p,也就是x可以被某数的p次方表示.首先x可以分解为x=p1a1 *p2a2 …pnan 如果x可被某数的p次方表示,说明a1,a2,a3…都是p的倍数.由此想到gcd这里注意一下x可能为负数,此时指数一定为奇数#include <iostream>#include <cstdio>#include <vector>using namespace std;typ

2021-03-19 19:21:33 67

原创 Pairs Forming LCM LightOJ - 1236

原题链接考察:gcd与lcm思路:不能在计算单个质数方法的时候就/2,存在第一个质数大,后面质数小的情况.唯一要去掉的是p^a这个计算了2次,单个质数的时候-1.计算答案的时候,除了n,n外每个都算了2次,因此ans+1>>1#include <iostream>#include <cstring>#include <cstdio>using namespace std;typedef long long LL;const int N =

2021-03-19 16:23:43 78

原创 Goldbach‘s Conjecture LightOJ - 1259

原题链接考察:素数误区:n的范围是1e7,求n被两个质数拆,这里不是筛到√1e7,因为这里是质数和而不是质数积.#include <iostream>#include <algorithm>using namespace std;typedef long long ll;const int N = 1e7+10;int cnt,prime[N];bool st[N];void GetPrime(int n){ st[1] = st[0] = 1; for(i

2021-03-19 14:09:21 69

原创 程序设计:蒜头君的数轴 计蒜客 - A1633

原题链接博客园没了以至于不得不用回CSDN思路:之前讲得很详细了GO想补充的是,如果选定区间能整除maxn,那么说明有多个区间gcd左右都是maxn.存储下这些区间,前缀和预处理每个区间要加的点数.取最小值即可,#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <algorithm>using namespace std

2021-03-18 21:21:10 91

原创 数论 持续总结

总结: 计算1~n里有多少个x的倍数:n/x. 计算1~n里能有分解出x最多多少个:while(n) sum+=n/x,n/=x;

2021-03-18 16:02:55 137 1

原创 要补的知识点和题

知识点:背包九讲题:HDU 3033 分组背包POJ true liar 并查集+计数dp牛客寒假训练的题tmd其实还有蓝桥杯,md太多了学不完啊.蒟蒻落泪dfs还没怎么搞,kuangbin题单的简单搜索全是bfs md醉了

2021-02-03 20:11:16 94

原创 位运算刷题记录

问题一:高低位交换走这问题分析:简而言之就是高位左移低位右移后相加,但是我位运算毛得基础,以至于完全想不到(菜是原罪)AC代码:#include <bits/stdc++.h>using namespace std;#define ll long longint main(){ unsigned int n; scanf("%lld",&n); printf("%lld",(n<<16)+(n>>16));} 注意这道题,必

2020-12-14 21:22:58 176

原创 前缀和 差分 刷题记录

问题一:P1115 最大子段和(待重做)走这问题分析:说实话这道题有用到前缀和思想吗…反正做得我心浮气躁原思路是前缀和,在枚举区间的两个端点,结局O(10^10)TLE正解思路应该是贪心,当遇到一个新值,让它与当前和加上新值比较,如果当前值大就重新记录当前和,小就加上这个值,但这个如果遇到比较小的负数就会使和变小,所以要随时记录最大值AC代码:#include <bits/stdc++.h>using namespace std;#define ll long long

2020-12-12 02:00:46 204

原创 算法竞赛入门 函数与递归

例题4-1 古老的密码走这问题分析:看了半天没看懂题目,看评论才懂一一映射是什么意思,也就是每个字母以任意规则对应另一个字符串的字母,但每个字母的对应规则不同所以题目就变成出现两个字符串出现相同次数的字母的种类是否相同AC代码:#include <bits/stdc++.h>using namespace std;int a[101];int b[101];int main(){ /*题目不一定是每个字母都必须向后移动n位,也就是说,字母的映射关系是任意的,但是一种1

2020-12-08 08:25:02 250

原创 算法竞赛入门 数组与字符串

例题3-1Tex中的引号走这思路是用string读取完后for循环结合计数器解题,但是getline()会被样例的换行符卡死,书上的程序显然写得更简洁更好(涉及到换行符的读取还是用char)更好的方法是边读取边处理,这里涉及两个函数和EOFfgetc(),可以从文件里读取字符,也可从标准输入流里fgetc(stdin),返回值是int,但我用得更多的是第二种getchar(),从标准输入流里读取字符,接收空格换行符等,返回int类型变量EOF不是换行符,而是表示文件流末尾AC代码:#i

2020-12-04 01:12:20 146

原创 二分刷题记录

问题一:数的范围走这问题分析:二分模板题,不够我试图用字符串解,然后发现字符串一位表示一位数字,而输入数据可能有两位以上的数字,于是字符串解题是不可行的AC代码:#include <iostream>#include <string>using namespace std;#define N 100010int nums[N];int main(){//不能用string写,因为当数字是两位以上时,在数组占一位,而字符串两位以上 int n,q; c

2020-11-30 13:24:09 87

原创 牛客 字符串练习

问题一:P1050 循环走这问题分析:写了又调试了几个小时才发现理解错题意了,我自己写的代码是从任意位开始,出现重复的就是循环,但题目要求如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。所以说急着做题是不会有好结果的…在网上看大佬的分析 还能从这句话推出规律(菜是原罪)分析如下:1.只要考虑末尾k位,后k位循环的前提是后k-1位 循环,因此可以从末尾一位位找2.如果只考虑一位:出现在该位上的数字只可能是0,1,2,3,4,5,6,7

2020-11-29 20:24:36 178

原创 牛客 CSP-J入门组 简单排序

我以为的排序->sort自定义实际的排序->与大量算法综合考察,甚至还考推导公式问题一:求和走这问题分析:一开始是用间距写的,思路是间距最多到n/3,但实际是错误的,当1~9的时候间距能取到4,1到13同理(但我现在还是不知最大能到几)(我可真是菜…)修正了后只能在洛谷拿到40分,其他全部TLE,看了下数据范围,如果O(n^2)到了10000000000看了题解才发现有公式可推…以下结合AC代码说明#include <bits/stdc++.h>using

2020-11-25 13:05:54 429

原创 洛谷 深度优先遍历

问题一:P1036 选数问题分析:本质是要求排列组合,我感觉深搜的本质也是排列组合,这里利用深搜和回溯即可解决问题正确代码:#include <bits/stdc++.h>using namespace std;int nums[25];int sm;int n,k;bool Issu(int x){ for(int i=2;i<=sqrt(x);i++) { if(x%i==0) { return false; } } return t

2020-11-22 14:59:07 204

原创 PTA团体天梯赛汇总

csdn逐渐成为我的错题本…题目一:L1-006 连续因子 (20分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<2​31​​ )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其

2020-11-17 18:08:51 2028

原创 暴力枚举 洛谷入门

问题一:P2241 统计方形(数据加强版)题目描述有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。输入格式一行,两个正整数 n≤5000,m≤5000)。输出格式一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。输入输出样例输入2 3输出8 10问题分析:智商不配做暴力枚举了,不知道为什么暴力枚举的题就算简单我也不会,这题本质找规律,这种题目我都不擅长…但要注意的点是,题目虽然是int类型的m、n,但多次相乘要让m、n超出int

2020-11-12 19:09:16 379

原创 洛谷入门 模拟与高精度

题目一:P1042 乒乓球走这问题分析:题目的思路很清晰了,就是在不同规则下寻找WL的个数,找到就+1,然后在不同规则下判断是否获胜这里要注意的是比分有可能超过11或者21,所以判断条件不能是==11||21,这点卡了我好久= =正确代码:#include <iostream>#include <string>#include <algorithm>using namespace std;string s[100005];void score2

2020-11-08 21:53:19 195

原创 函数与结构体 洛谷入门

问题一:P5461 赦免战俘题目走这错误代码:分析了几个小时压根不会,想从右下角开始递归但是不知道怎么给左上角清0,然后又想从左上角矩阵的右下角开始清零,但还是不知道如何操作(本质就是不会递归。看了大佬的正确代码后,自己仿造写了一个#include <iostream>#include <cmath>#include <algorithm>#include <numeric>#include <iomanip>#include

2020-11-06 18:05:36 206

原创 洛谷 字符串入门

P1308 统计单词数题目描述一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。输入格式共22行。第1行为一个字符串,其中只

2020-11-06 17:48:09 546

原创 洛谷 数组入门总结

问题1:题目描述给出一个不大于 9 的正整数 nn,输出 n\times nn×n 的蛇形方阵。从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。输入格式无输出格式无输入输出样例输入4输出1 2 3 412 13 14 511 16 15 610 9 8 7错误代码:没有,完全没得思路,不知道咋写,所以又双去看了大佬的代码,然后结合大佬代码自己写了一遍正确代码:#include &

2020-11-06 01:14:04 375

原创 P1957 口算练习题(字符串与int类型的转换)

题目描述王老师正在教简单算术运算。细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如5+8的算式最好只要输入5和8,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出 5+8=13 以及该算式的总长度6。王老师把这个光荣的任务交给你,请你帮他编程实现以上功能。输入格式第一行为数值i接着的i行为需要输入的算式,每行可能有三个数据或两个数据。若该行为三个数据

2020-11-04 18:06:13 175

原创 洛谷入门 循环结构

问题1:题目描述已知:S= 1+1/2+1/3+…+1/n=1+1/2+1/3+…+1/n。显然对于任意一个整数k,当 n 足够大的时候,S>k.现给出一个整数 k,要求计算出一个最小的n,使得 S>k输入格式一个正整数 kk。输出格式一个正整数 nn。输入输出样例输入1输出2问题分析吐了,分数求和做多了,看到这题的第一反应是通分相加再化简,然后被其复杂度劝退再想到可能有数学公式,然后百度了欧拉常数,提交代码,全部WA看了下题解,草,直接用1/n得小数相加但要

2020-11-02 18:28:32 221 1

原创 回文质数 Prime Palindromes(欧拉筛)

回文质数 Prime Palindromes题目描述因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围 [a,b] (5 < a < b < 100,000,000)a,b( 一亿)间的所有回文质数。输入格式第 1 行: 二个整数 a 和 b .输出格式输出一个回文质数的列表,一行一个。输入输出样例输入5 500输出571110113115118119131335337338

2020-11-02 13:35:18 373 1

原创 P1009 阶乘之和 洛谷

题目描述用高精度计算出S=1!+2!+3!+…+n! (n≤50)S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:5!=5 *4 *3 * 215!=5×4×3×2×1。输入格式一个正整数N输出格式一个正整数S,表示计算结果。输入输出样例输入3输出9说明/提示注,《深入浅出基础篇》中使用本题作为例题,但是其数据范围只有 n≤20,使用书中的代码无法通过本题。如果希望通过本题,请继续学习第八章高精度的知识。错误代码:#include <iostrea

2020-11-02 10:48:21 305

原创 【入门1】顺序结构 洛谷 总结

问题1:P5704 【深基2.例6】字母转换题目描述输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。输入格式无输出格式无输入输出样例输入q输出Q#include <iostream>#include <stdio.h>using namespace std;int main(){ char a; cin>>a; printf("%c",a-32) ; retur

2020-11-01 18:44:26 223

原创 数列求和-加强版 数组

问题描述给定某数字A(1≤A≤9)以及非负整数(0≤N≤100000),求数列之和 S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。输入格式:输入数字A与非负整数N。输出格式:输出其N项数列之和S的值。输入样例:1 3输出样例:123错误代码:#include <iostream>using namespace std;#include <vector>#include <malloc.h>

2020-11-01 15:14:02 437

原创 整数分解为若干项之和 递归思想

问题分析将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。输入格式:每个输入包含一个测试用例,即正整数N (0<N≤30)。输出格式:输入样例:7输出样例:7=1+1+1+1+1+1+1;7=1+1+1+1+1+2;7=1+1+1+1+3;7=1+1+1+2+27=1+1+1+4;7=1+1+2+3;7=1+1+5;7=1+2+2+27=1+2+4;7=1+3+3;7=1+6;7=2+2+3

2020-11-01 13:11:51 679

原创 7-35 有理数均值 栈的运用

本题要求编写程序,计算N个有理数的平均值。输入格式:输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式:在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。输入样例1:41/2 1/6 3/6 -5/10输出样例1:1/6输入样例2:24/3 2/3输出样例2:1...

2020-11-01 12:50:29 316

空空如也

空空如也

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

TA关注的人

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