自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 新博客传送门

https://www.cnblogs.com/streamazure/CSDN弃用了 因为它实在太丑了并且不支持markdown里的折叠语法……

2020-03-30 00:18:02 168

原创 cf-tool 简易使用教程

用更高级的方法在cf上分

2020-03-27 04:31:49 3294

原创 最长公共子序列LCS

最长公共子序列#include<iostream>#include<algorithm>#include<cstdio>#include<string.h>#include<stack>using namespace std;const int MAXN = 1000 + 10;int dp[MAXN][MAXN];//...

2020-03-14 03:34:06 127

原创 【C语言笔记】变量及表达式

关键字:C语言预先规定的,具有特定意义的字母组合,共有32个。标识符:如变量名、函数名、文件名、类型名等。只能由字母、数字、下划线组成,且首字符必须为字母或下划线。变量:必须先定义后使用。在定义时对其赋值,称为初始化。数据类型:整型数据:标识符类别占用字节数int基本整型4个字节short int(short)短整型2个字节long ...

2020-03-03 23:20:30 683

原创 [kuangbin带你飞] 专题一 简单搜索

A - 棋盘问题 POJ - 1321B - Dungeon Master POJ - 2251C - Catch That Cow POJ - 3278D - Fliptile 二进制枚举E - Find The Multiple 两种选项的搜索G-Prime Path POJ-3126H-Pots POJ - 3414I - Fire Game FZU - 2150J - Fi...

2020-02-25 09:54:56 118

原创 Eight II HDU - 3567

Eight II HDU - 3567题意:给定方阵A与B,要求通过交换X格子与其相邻方格位置的方式,使得A与B相同。输出具体操作步骤。要求答案是步骤最少的答案,若有多个,还要是字典序最小的答案。...

2020-02-25 01:31:00 132

原创 Eight HDU - 1043

Eight HDU - 1043题意:给定一个3*3的方阵,要求通过交换x方格与其相邻方格位置的方式,使方阵上的数字由小到大排列,且x在右下角。输出具体交换步骤...

2020-02-25 01:27:01 162

原创 K - 迷宫问题 POJ - 3984

K - 迷宫问题 POJ - 3984K:普通的走迷宫问题。BFS都快写完了才发现它要求输出路径,考虑到只是个5*5迷宫且路径唯一,DFS可行。首先这题和P1101 单词方阵这题很像,关键点在于要把记录路径的结构体数组也作为参数传入DFS函数中,从而达到“只保存最短路径”的目的。然后也出了一点小差错,比如说因为它是5*5迷宫,不知怎么的就觉得走5步就可以了……可能是因为参考了上面这道单...

2020-02-25 01:11:56 152

原创 C - Catch That Cow POJ - 3278

C - Catch That Cow POJ - 3278C:农民要去抓牛。在一条笔直的路上,牛的位置为k,不动。农民从位置n出发,每次可以移动到位置n-1或n+1或2n,每次移动都花费1分钟,问抓到牛的最短时间本来想用dp做,可是dp[i]=dp[i-1]+dp[i+1]+dp[2i]……由于dp[i+1]的存在,是倒推不了的然后bfs一遍过#include<stdio.h&...

2020-02-25 01:10:37 128

原创 B - Dungeon Master POJ - 2251

Dungeon MasterB:队列里放结构体的做法还不是很熟练,不过这回写下来就会了然后总体很顺畅,但写出了两个bug一是标记是否访问的问题,一开始没有写 !vis[sz][sx][sy] 这一条件,直接TLE二是队列q的声明,一开始放在了最外面,但它应该放在每个样例,即while循环的里面,否则一直用的都是同一个队列,上一个样例遗留下来的队内元素影响到了下一个样例……也是一直WA的...

2020-02-25 01:09:31 144

原创 A - 棋盘问题 POJ - 1321

A - 棋盘问题 POJ - 1321八皇后类似,但略有区别:不一定要放满n个棋子(我随便码的……这都能一次过?!)就按八皇后思路,每一层两种选择,不放棋子/在1-n列中合法的地方放棋子然后cnt>n即return这个地方第一次没有写到,调试发现会死循环才补上的#include<stdio.h>int n,k,ans;char map1[10][10];int...

2020-02-25 01:08:26 117

原创 N - Find a way HDU - 2612

Find a way HDU - 2612题意:两个人从两个地方同时出发,每次可上下左右移动1格,每人耗时11分钟。从给定的目的地中选择一个使两人总用时最短。

2020-02-24 07:20:06 147

原创 I - Fire Game FZU - 2150

I - Fire Game FZU - 2150给定的区域中有草方格和空方格,两个人任选草方格开始放火(可以选中同一个草方格),火每分钟向上下左右的草方格蔓延1格,空方格不会着火。放火的时刻为第0分钟。如果他们可以烧完所有草方格,输出所需时间;如果不能,输出-1....

2020-02-23 00:51:30 81

原创 J - Fire! UVA - 11624【多源BFS】

J - Fire! 题意:房间里起火,人和火可以上下左右走,每分钟都走一格(火是四个方向同时一格),都不能越过墙。人只要走到房间边界(非墙)就可以逃生。给定人、火、墙的位置,如果人能逃生,输出所需时间,如果不能,输出IMPOSSIBLE...

2020-02-23 00:42:13 175

原创 Prime Path POJ-3126

主要路径 POJ-3126题意:给出作为起点的四位数字与作为终点的四位数字,要求每次只改变一个数字,且这四位数始终为质数。求改数字的最小次数。...

2020-02-23 00:25:42 122

原创 H-Pots POJ - 3414

H-Pots POJ - 3414题意:有两个壶,体积分别为A和B。有三种操作:FILL(i) 给i(i=1,2)号壶倒满水DROP(i) 倒空i号壶的水POUR(i,j) 将i号壶的水倒入j号壶,倒水后,要么j号壶满了(i号壶可能有剩),要么i号壶空了求最少的操作步骤(输出数目与具体步骤)使得其中一个壶里恰好有C体积的水...

2020-02-23 00:21:48 124

原创 E - Find The Multiple 两种选项的搜索

Find The Multiple题意:给定不大于200的数n,找出它的任意一个仅有0和1构成的且是它的倍数的十进制数字,这个数字位数不大于100不要被100位唬住了,这题的答案范围没超过long long(也就是10e18多一点),也就是说没超过19位数字……既然如此,说明可以直接用%判断是否为n的倍数。仅需考虑如何得到仅由0和1构成的数字从1开始,1,10,11,100,101,...

2020-02-22 23:29:36 843

原创 D - Fliptile 二进制枚举

D Fliptile题意:给定m*n的一块地面,地面上每个方砖是黑色或者白色的,翻转则使其颜色改变且它的上下左右四个方砖也同时翻转,求能使地面全部为白色的最小翻转次数。如果这个最小翻转次数有多种方案,输出字典序最小的。(好像和搜索没啥关系……)学会了二进制枚举,在本题中用来枚举第1行的每个方砖翻转/不翻转第i行(i>1)的翻转方案必须要使得第i-1行全部为白色,故确定第1行的方案...

2020-02-22 22:21:01 141

原创 状态压缩

状态压缩与各种算法的结合:https://www.cnblogs.com/shzr/p/9064737.html

2020-02-22 03:25:58 86

原创 队赛Day2

前置 因子狂热分子核心在于求数字n!的素数因子i的个数考虑1-n中所有数字中含有因子i的数字的个数,含有因子2i的数字的个数……则n/i可得含有因子i的数字个数,n/2i可得含有因子2i的数字的个数……全部相加,就是n!的素数因子i的个数了又排列数A(N,M)= N! / (N-M)!因为当分子分母含有同一个因子时可约所以A(N,M)含有素数因子i的个数即【分子含有素数因子i的个...

2020-02-22 01:18:48 102

原创 【数据结构】二分查找

#include<stdio.h>//二分查找 int binarysearch(int a[],int k){ int left,right,mid,nofound=1; left=1; right=MAX; while(left<=right) { mid=(left+right)/2; if(k<a[mid]) right=mid-1; e...

2020-02-21 03:14:39 89

原创 队赛Day1

E 《文明》算法:多源BFS(vector与队列的结合,前者用于储存需要进行相同动作的“源”)只能所有地块一步一步走,不能一个地块一口气走完s[i]步#include<cstdio>#include<iostream>#include<queue>#include<vector>#include<string.h>co...

2020-02-21 03:04:10 85

原创 STL常用函数

vector//声明vector<string> word;vector<int> ans;vector<node> v[1000];//理解为二维数组//迭代器自定义vector<int>::iterator iter;//定义了一个叫iter的vector用迭代器变量//加入新元素words.push_back(s);...

2020-02-20 18:34:34 184

原创 【数据结构】堆

1.堆的特性(1)结构性:用数组表示的完全二叉树(2)有序性:任一结点的优先级是其子树所有结点的最大值/最小值①最大堆(MaxHeap)/大顶堆:最大值②**最小堆(MinHeap)/**小顶堆:最小值2.堆的类型定义typedef struct HNode *Heap; /* 堆的类型定义 */struct HNode { ElementType *Data; /* 存储元...

2020-02-19 03:55:05 202

原创 【数据结构】二叉搜索树

//搜索树定义typedef struct treenode* tree;//给一种叫TreeNode的结构体的指针,另起一个名字叫Treestruct treenode{ int v; tree left;//指向左子树的指针 tree right;//指向右子树的指针 int flag;//用于标记是否被访问过}//搜索树建立tree maketree(int n){...

2020-02-19 01:17:00 109

原创 【数据结构】1.线性表及其实现

1.顺序表//初始化List MakeEmpty(){ List PtrL; PtrL=(List)malloc(sizeof(struct LNode)); PtrL->Last=-1; return PtrL;}//查找int Find(int X,List PtrL){ int i=0; while(i<=PtrL->Last&&Pt...

2020-02-17 18:01:50 262

原创 链表

定义链表节点typedef struct Node{ int value; struct Node *next; //指针名为next,指针指向的类型为一个叫Node的结构体 }node;插入元素操作1.非函数版本 int number; cin>>number; node*head=NULL; /*↓↓创建一个新的链表节点 ↓↓*/ node*p=(nod...

2020-02-17 00:00:33 1037

原创 【递归与分治】棋盘覆盖

U91193 棋盘覆盖▲ 有个重要的思想:为了达成分治的目的,要在没有真正特殊点的子棋盘内假设一个特殊点,以此出发才能继续分治▲ 此外,注意到在不同层函数(即不同大小的棋盘)之间,L型块编号应是递增的,但在同一层函数中,L型块的编号不变(执行完一层函数,才是完全地填完了同一个L型块)。要达到这样的效果,只需让n在函数递归的过程中递增,而函数内部 int t=n,确保同一层函数中同一个L型块的...

2020-02-16 17:46:27 157

原创 前缀和

核心:1.计算前i个数的和a[i]2.要求某一段数字(下标从l到r)的和,仅需计算a[r]-a[l-1]

2020-01-20 23:53:26 123

原创 【集训day6】图论初步

最短路最小生成树

2020-01-19 23:05:50 89

原创 【集训day5】数据结构基础

链表单调栈单调队列并查集树状数组线段树

2020-01-14 10:46:48 79

原创 【集训day4】动态规划

线性DP区间DP背包DP

2020-01-14 10:45:18 180

原创 【集训day3】搜索(9/11)

Day3 搜索作业A:八皇后类似,但略有区别:不一定要放满n个棋子(我随便码的……这都能一次过?!)就按八皇后思路,每一层两种选择,不放棋子/在1-n列中合法的地方放棋子然后cnt>n即return这个地方第一次没有写到,调试发现会死循环才补上的#include<stdio.h>int n,k,ans;char map1[10][10];int map[10...

2020-01-12 16:04:26 120

原创 【集训day2】STL(2/5)

day2 STL作业A:给定一个由一些单词组成的词汇集,要求找出其中的ananagram,即不能通过改变单词中字母顺序来变成词汇集中其他单词的单词。PS:仅由一个字母构成的单词必是ananagram。...

2020-01-11 12:35:13 132

原创 【集训day1】贪心(4/11)

Day1 贪心A:给定一串字母,每次从该字母串的头或尾取一个字母加入到新串中,要求所得新串字典序最小思路:显然,每次直接比较头部和尾部字母就好,头尾的指针在取字母的时候更新。考虑首尾字母相同的情况,此时需要比较第二个和倒数第二个字母,如果仍相同,则继续比较下一个,所以有for(int i=0;i+a<=b;i++){ if(p[a+i]<p[b-i])只要两字母不...

2020-01-10 15:17:12 97

原创 赛前复习

输入1.printf("%s",s) 是从第0列开始的2.scanf("%c",&map[i][j]) 小心行末换行符3.scanf("%[^\n]",str) 将一整行串连同空格一起输入BFS#include <queue>using namespace std;queue<int> q;void bfs(int start){ if(符合...

2019-12-07 12:35:34 151

原创 TLE错题集

这道题给的深刻教训:pow也是很耗时间的……P1611 循环的数字刚开始也是无从下手,还是老办法,先解决核心问题:给定一个数,求它的所有循环数。解决这个问题之后,剩下的思路也就有了。(除了查重……orz)而且像x=1111、2222这样的特殊情况完全不用特判,因为它的循环数还是它本身,而题目要求x必须大于a小于b,这样就直接筛出去了#include<stdio.h>#i...

2019-12-07 11:51:26 163

原创 【DFS】P1433 吃奶酪

P1433 吃奶酪1.没注意到输入数据也可能是浮点数,惨遭WA+一个TLE2.只知道预处理距离,不知道剪枝(只要当前累计距离比已知最小距离要大都可以cut),惨遭两个TLE注意:return时会跟着回溯到上一个状态的只有传入函数的参数,如代码中的k,搜完一条路线回溯时会从4变成3,3变成2……但因为ans没写进参数里而是作为全局变量,就得在dfs的指令下一条手动回溯(自己减掉),“该奶酪...

2019-11-30 23:50:27 316

原创 【字符串】map练习

P1071 潜伏者未赋值的map输出的是0(整型)或空(字符)#include<stdio.h>#include<algorithm> #include<map>#include<string>#include<string.h>using namespace std;map<char,char> reg;...

2019-11-30 16:48:38 145

原创 【DFS】字符串匹配

P1019 单词接龙被这题整得头大。主要是又涉及字符串又涉及dps搞得整个人都很烦躁。核心要点不在dps而在求两个单词间的匹配长度,于是把大问题拆分成小问题,先写个程序,要求:输入n行单词(每行一个),求给定的第i个单词的尾部与第j个单词头部之间的匹配长度,若不能匹配,输出0;于是恶补了一下string类型,样例还是能过的#include<cstdio>#include...

2019-11-30 00:29:33 262

空空如也

空空如也

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

TA关注的人

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