自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WAWA战士的博客

冲就完事了

  • 博客(23)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 1142 巡逻的士兵(递归)

思路:画出树状图可知奇数情况是有两个分支,即当前方案数等于拿掉奇数个后的方案数加上拿掉偶数个后的方案数而偶数只有一种情况,因为无论怎么拿,偶数和奇数数目是相同一样的,直接2*其中一种就行边界条件很明显,在最终只剩下3个的时候有1种方案,小于3则没有方案#include<cstdio>#include<iostream>using namespace std;t...

2020-03-31 13:03:28 239

原创 hdu3788ZOJ问题(思维)

这是一道思维题思路:首先按照题意,z必须在j前面而且二者必须有且只有一个,o是必须要有1个或以上一个字符串进来,按题意我们要先把它拆分成azbojac的形式,然后我们去测试azbjc是否AC,那么题目说xzojx这种形式可以AC的,那么azbjc这个东西要想AC就必须符合a中o的个数等于c中o的个数,这是初步推理得到的结论我们根据这个过程很明显地发现a是一直保留继承下去的,即a的o个数...

2020-03-30 23:34:50 194

原创 18444 分数拆分(暴力枚举)

思路:枚举#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;int main(){ ll i,j,k,n; while(scanf("%lld",&n)!=-1) { for(i=n+1;i<=n*3;i++...

2020-03-28 13:28:50 940

原创 dijkstra(最短路)

声明:此版本未优化!先上模板题作用:求某个点到其他所有点的最短距离,可以是有向图和无向图,但是不可以为负权时间复杂度:O(n²)先参考这里还有这里思路:贪心挨个寻找与源点距离最近的路径,找过的不用再找以当前最短路的终点出发到下一个能到达的点,比较大小,将比原来小的更新#include<cstring>#include<cstdio>#include&l...

2020-03-25 19:03:22 101

原创 Pretty Song(数学,思维,构造)

被虐哭了…脑子不好使思路:罗列出每一个元音字母的贡献,然后用前缀和思想,我们就拿BBYOB举例子Y对整体的贡献: 1+1/2+1/3+ 分别是 Y,YO,YOB 1/2+1/3+1/4+ 分别是BY,BYO,BYOB 1/3+1/4+1/5 分别是BBY,BBYO,BBYOB 这时候Y的贡献可以看...

2020-03-23 15:36:53 109

原创 18290 校赛排名2(sort函数)

这道题很有趣!思路:判断当前队伍是否出现过,然后判断ac还是wa,关键在于每道题ac以及wa的表示,更重要的是把字母题号编写成数字序号,这样好写很多,因此要用一个数组用于标记ac题号,另一个数组用于wa题号#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;...

2020-03-21 16:19:47 882 2

原创 8579 链式线性表的基本操作(链表)

#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType int#include<iostream>using namespace std;typedef struct LNode{ int data; struct LNode *next;...

2020-03-18 17:37:33 1269 1

原创 8578 顺序表逆置(顺序表)

#include<iostream>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType intusing namespace std;typedef int Status;typedef...

2020-03-18 15:23:24 1239

原创 8577 合并顺序表(顺序表)

#include<iostream>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType intusing namespace std;typedef int Status;typedef...

2020-03-18 14:55:54 1123

原创 Taxes(数论,哥德巴赫猜想)

思路:哥德巴赫猜想:任意大于2的偶数都可以写成两个素数的和分类讨论:一:n是素数输出1二:大于2的偶数或者非素数奇数-2仍为素数的输出2三:剩下的输出3除了2之外,所有的质数都是奇数,因此一个奇数只有减2后才可能是质数,因为奇数-偶数=奇数,但如果减4那就必然不可能是两个质数之和了比如27不能由2+素数构成所以结果是3#include<iostream>using n...

2020-03-14 17:02:11 209

原创 18107 校赛排名(sort函数)

原题:校赛排名cmp相当于定义sort函数功能,比如具体化结构体里面每种数据的排序方式,由小到大都是return a<b,反之升序,同时还能在某种数据相同时再次比较别的种类的数据,具体看代码#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;stru...

2020-03-12 20:03:35 281

原创 Downward paths(数论,思维)

感觉自己数学推理题真的太差劲了…原题思路:这种题大概可以知道与动态规划或者数学规律有关,所以要先搞几个例子递推试一下,同时注意与前一项的联系(图形上,数字上)从图可知,每一项都与前一项有关,我们又发现前一项得到的仅仅是到各个终点的方案数,但缺少了各个终点之间的路径,所以就在到达原本终点的方案数×2的基础上,再加上 到达原本终点方案数×(N-1)×2 ,合并起来就是dp[i-1]×...

2020-03-08 20:01:42 151

原创 D. Sudoku(模拟)

原题思路:模拟整个过程,先一行一行检查,然后一列一列,最后一大格一大格检查#include<string.h>#include<iostream>using namespace std;int cmp[10];char a[10][10];int check(int *c){ for(int i=1;i<=9;i++) { ...

2020-03-07 16:38:16 110

原创 LLPS(思维)

原题思路:找字符串中按照字典序排列最大的字母,找完了就找有多少个这样的字母,打印出来#include<string.h>#include<stdio.h>using namespace std;int main(){ int i,num=0; char a[11];gets(a); char max='\0';int len=strlen...

2020-03-07 15:23:38 662

原创 高精度乘法(模拟)

思路:从下面第一个数字开始遍历,逐步乘以上面的每一个数字,每乘一次就加到add数组中,最重要的是每一次加你都要往前前移一个位,比如35×7,首先5×7得35,那么此时add数组中就是35,接下来3×7得21,看下面               &...

2020-03-06 01:22:39 220

原创 8591 计算next值(kmp)

scau原题#include "stdio.h"#include "stdlib.h"#define MAXSTRLEN 255 // 用户可在255以内定义最大串长typedef unsigned char SString[MAXSTRLEN+1]; // 0号单元存放串的长度void get_next(SString T,int next[]...

2020-03-04 19:32:22 1068

原创 辗转相除法(数论)

思路:设两数为a、b(a>b),用gcd(a,b)表示a,b的最大公约数,r=a (mod b) 为a除以b的余数,k为a除以b的商,即a÷b=kr。辗转相除法即是要证明gcd(a,b)=gcd(b,r)。第一步:令c=gcd(a,b),则设a=mc,b=nc第二步:根据前提可知r =a-kb=mc-knc=(m-kn)c第三步:根据第二步结果可知c也是r的因数第四步:可以断定m-...

2020-03-04 16:20:13 458

原创 8576 顺序线性表的基本操作(顺序表)

#include<stdio.h>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define ElemType inttypedef struct{ int *elem; int length; int l...

2020-03-04 16:09:58 1626

原创 18104 练习使用多case解题(基础)

#include<stdio.h>long long gcd(long long x,long long y){ long long z; while(y!=0) { z=x%y; x=y; y=z; } return x;}int main(){...

2020-03-04 16:05:11 515

原创 Floyd(最短路)

例题问题大意:求任意两个节点之间最短路径,可插入中转站先看这里方便理解思路:声明: k意思是该城市可充当中转站,i代表出发城市,j代表目标 城市假设城市1到城市9最短路径是1->3->4->6->9,那么如何插入这些中转站呢我们用k按顺序遍历,当k=3的时候,所有以城市3为中转站的,且使得该路径更优的两座城市会得到更新,这里1->4得到...

2020-03-04 11:27:03 77

原创 结构体细节(基础)

一开始以为这个程序错了…我太菜了这个是正常的struct student{ int num; struct student *next;};这个是我误解的typedef struct Student{ int num; struct student *next;}student;二者其实一样,第二个struct student是定义了一个student结构体第一个...

2020-03-03 21:26:28 115

原创 2016(数论)

思路:首先暴力时间复杂度太差,这时候就想优化循环次数由同余定理得a%2016和b%2016的范围均为[0,2015],即模的范围,这里我们假设数组下标就是模用这个数组统计每个模出现次数,如果a>2016,那么数组中的每个模至少出现一次,比如2016*3+3(即6051)这个数,那么每个模至少出现3次,而1,2,3则比其他的模多出现一次,用双层循环遍历出全部a模与b模的乘积,一旦除...

2020-03-03 19:44:14 84

原创 编辑距离(dp)

定义编辑距离又称Leveinshtein距离,是由俄罗斯科学家Vladimir Levenshtein在1965年提出。编辑距离是计算两个文本相似度的算法之一,以字符串为例,字符串a和字符串b的编辑距离是将a转换成b的最小操作次数,这里的操作包括三种:插入一个字符删除一个字符替换一个字符举个例子,kitten和sitting的编辑距离是3,kitten -> sitten(k替换为...

2020-03-01 21:12:26 540

8583 顺序栈的基本操作.cpp

分享一下我写的顺序栈基本操作,顺便蹭一下勋章哈哈哈,这个是c++写的,包含了创建一个空的顺序栈,并实现栈的入栈、出栈、返回栈的长度、返回栈顶元素、栈的遍历等基本算法

2020-04-29

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

TA关注的人

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