自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串折叠

字符串折叠题解见luogudp问题要考虑所有完整的情况1、将问题分治2、分治后的合并处理(可能会与分无关,就是当做整体处理)3、状态转换方程想不通时,从最简单的样例出发一定要想清楚,什么样的分治方法才是正确的(如何 合理的分解问题为子问题)#include<cstdio>#include<iostream>#include<string>#include<cmath>#include<algorithm>#include&

2021-09-10 16:49:10 140

原创 火星A+B

火星A+B不要转换为10进制再加,直接按位加,然后进位即可#include <cmath>#include <iostream>#include <queue>#include <sstream>#define LL long longusing namespace std;const int number[]={2 ,3, 5 , 7 , 11 , 13 , 17 , 19 ,

2021-09-10 13:22:06 81

原创 Tree Recovery poj

Tree Recovery#include <cmath>#include <iostream>#include <queue>#define LL long longusing namespace std;string s1,s2;int p=1;//二叉树节点数据结构struct Node{ char c; Node* L; Node* R;};//此函数功能为:对于对于中序遍历[l,r]范围,构建以c为根节点的树,并返

2021-09-10 11:02:52 111

原创 CCF 201612-4

CCF 201612-4此题算法与“石子合并问题”一样!为什么能用这个算法那?有人可能会问,这个方法与哈夫曼编码有什么不一样吗?答:题目要求字典序编码(不懂什么意思的好好看看题)默认哈夫曼编码过程中,子节点的合并是无序的,即,字典序大的节点可能直接与字典序小的节点合并了。如果用dp(就是石子合并算法),其执行顺序是顺序(或者说是两两合并)的合并,就不会存在上述情况。以下为个人想法,可不看:将算法图形化,就发现实际上是一棵树。该算法可以拓展到任何可以将模型构建成这类树的问题上。#include

2021-09-09 21:56:00 75

原创 CCF 201609-3

CCF 201609-3#include <cmath>#include <iostream>#include <queue>using namespace std;int n;struct Fellow{ int health,posi,attack;};struct Leader{ int health,attack;}L[2];vector< vector<Fellow> > f;inline voi

2021-08-26 18:23:15 69

原创 CCF 201609-4

CCF 201609-4迪杰斯特拉算法微调,重点看一下核心算法怎么写的#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <queue>using namespace std;const int M=100105;const int oo=2147483647;int n

2021-08-23 21:55:45 76

原创 CCF 201604-3

CCF 201604-3参考:详细讲解地址#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <queue>#include <sstream>#include <deque>#define MAXN 330using namespace std

2021-08-20 16:26:45 60

原创 CCF 201604-4

CCF 201604-4当做一个三维处理(x,y,t)。即位置x,位置y,时间t。然后BFS处理,找到最短路径。#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>#include <queue>#define MAXN 330using namespace std;int n,m,t;

2021-08-20 14:15:40 60

原创 CCF 201604-5(10分代码)

CCF 201604-5(10分代码)代码量大,得分不高,没有什么参考价值。整体思路是,最小生成树,最后去除不必要点。#include<algorithm>#include <vector>#include <iostream>using namespace std;#define INF 3000long long ans=0;struct Edge //边的结构体{ int a,b,cost; //(a,b)边的权cost}edge

2021-08-20 11:19:33 118

原创 CCF 201512-4

CCF 201512-4#include <algorithm>#include <iostream>#include <queue>#include <set>#include <stack>using namespace std;bool vis[10010][10010]={false};int D[10010]={0};struct Node{ bool flag=false; int num,l;

2021-08-18 22:26:32 62

原创 CCF 201509-3

201509-3思路简单,就是字符替换。如果没得满分,就是你代码的一些细节有问题。#include <iostream>#include <queue>#include <stack>#include <algorithm>#include <math.h>#include <map>using namespace std;vector<string> val;map<string,string&

2021-08-18 11:08:43 70

原创 CCF 201509-4

CCF 201509-4使用Tarjan算法,详细文章参考https://blog.csdn.net/tigerisland45/article/details/54865933#include <iostream>#include <queue>#include <stack>#include <algorithm>#include <math.h>using namespace std;stack<int> S;

2021-08-17 23:11:21 73

原创 CCF 201412-2

CCF 201412-2主要是设置了一个flag来判断其输出方向,OK简单,初学者可以琢磨一下逻辑(实在不会,可以私信)#include<stdio.h>#include <iostream>#include <string>#include <map>#include <algorithm>using namespace std;int m[600][600];int main(){ int n; cin &

2021-07-01 21:08:54 58

原创 CCF 201412-4

CCF 201412-4思路是Kruskal算法,简单易懂,不好意思没写注释。#include<stdio.h>#include <iostream>#include <string>#include <map>#include <algorithm>using namespace std;int path_num,node_num;int fa[1010];struct Path{ int from,des;

2021-07-01 20:28:31 65 1

原创 CCF 201403-3

从前向后一个个字符匹配,没有技巧,注意指到位置就好(无注释,万分抱歉)#include<stdio.h>#include <queue>#include <vector>#include <set>#include <iostream>#include <map>#include <memory.h>using namespace std;/*albw:x4ls -w 10 -x -w 15

2021-06-09 13:06:28 64

原创 CCF 201403-4 无线网络

复杂度分析:因为节点数目少,所以暴力求解。思路:1、构建树。2、BFS搜索。需要注意使用vector进行push_back()时,最好传入指针,否则会超时!(没时间写注释,请谅解)#include<stdio.h>#include <queue>#include <vector>#include <set>#include <iostream>#include <cmath>using namespace st

2021-06-09 10:32:56 80

原创 CCF 201312-5

最近很忙,虽然我知道只给代码,不写注释很恶心,但是真的没时间写。。。不好意思呀给点提示,结构体中的state由三个值:1表示可以通过S访问到2表示可以访问到T3表示两者都可以访问到,这样设计是因为3=2&1#include<stdio.h>#include <map>#include <vector>#include <string>#include <iostream>using namespace std;int

2021-06-08 00:32:57 98 1

原创 数圈

数圈以1为中心,用2,3,4, …, n, …, n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13【输入形式】一个整数n(1<=n<=10)【输出形式】数圈矩阵【样例输入】5【样例输出】21 22 23 24 2520 7 8 9 1019 6 1 2 1118 5 4 3 1217...

2019-07-07 17:31:41 606

原创 Huffman算法_优先队列_new与delete

Huffman算法_优先队列_动态生成与删除一个大一新生写的代码。如有高见,望不吝赐教。没有太多时间,只放代码了。#include <iostream>#include <queue>#include <vector>#include <stdio.h>#define maxn 222using namespace std;str...

2019-05-12 00:48:36 151

空空如也

空空如也

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

TA关注的人

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