自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Pengwill's Blog

一百年太短,只争朝夕

  • 博客(501)
  • 资源 (2)
  • 收藏
  • 关注

原创 洛谷P1823 音乐会的等待 (单调栈)

题意分析对于给出的序列,要处理的是其左边、右边能够看到的人数是多少。 如果我们两边同时计算的话,计算起来就会十分的混乱,最好的办法就是只计算一边的。我这里选择计算左边。首先理清思路,我们要统计对于序列中的某个元素list[i],在其左边能看到的他的人数个数。 在他左边能看到他的人,身高一定 >= list[i], 最朴素的做法就是从他的位置向左扫描,统计人数。复杂度n2n2n^2 ...

2018-03-17 21:04:35 1246

原创 目录和导航

持续更新中……题解和代码都放在CSDN中http://www.pengwill.top/record/

2018-03-15 22:04:42 289

原创 JoyOI1062 合并傻子(环形DP)

题意分析其实就是环形的式子合并代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 255;int sum[nmax];int a[nmax];int dp[nmax][nmax],dp2[nmax][nmax];int n,m;int main(){ while(sca...

2018-03-15 21:58:19 192

原创 洛谷P1880 石子合并(环形石子合并 区间DP)

题意分析就是在普通的石子合并的基础上,改成环形的而已。 转移方程依旧是dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+sum[i][j])dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+sum[i][j]) dp[i][j] = max(dp[i][j], dp[i][k] +dp[k+1][j] + sum[i][j]...

2018-03-15 21:53:25 503 1

原创 洛谷P2196 挖地雷

题意分析仔细看题 其实就是数塔问题的变种,多了一个能否访问的条件。 所以就按照他的思路来就行了,多一个way来保存两个地点是否能够到达。关于选择的输出,用path数组保存前驱即可,代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 25;int mine[nmax];int wa...

2018-03-13 19:23:52 364

原创 UVA 437 The Tower of Babylon (DP)

题意分析状态设计dp[i][j]dp[i][j]dp[i][j]表示搭第i层方块,以j为顶的时候,最大高度。状态转移方程dp[i][k]=max(dp[i][k],dp[i−1][j]+bc[k].h)dp[i][k]=max(dp[i][k],dp[i−1][j]+bc[k].h)dp[i][k] = max(dp[i][k], dp[i-1][j] + bc[k].h)伪代...

2018-03-13 19:15:38 176

原创 洛谷 P1149 火柴棒等式(模拟)

题意分析暴力枚举代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 1000;int cnt[] = {6,2,5,5,4,5,6,3,7,6};int n;int get(int x){ if(x == 0) return 6; int tot = 0; ...

2018-03-11 22:22:23 572

原创 RNQOJ 290 破碎的项链 (模拟)

题意分析注意循环问题,模拟即可。代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 1000;char str[nmax<<1];int main(){ int n; while(scanf("%d",&n)!=EOF){ scan...

2018-03-11 22:20:41 488

原创 洛谷P1077 摆花(DP)

题意分析状态设计 dp[i][j]dp[i][j]dp[i][j] 表示前i盆花,摆放前j种花的方案数状态转移for i: 0 to m for j: 0 to n for k: 0 to a[j] dp[i][j] += dp[i-k][j-1]注意开始循环起始值初始状态for i: 0 to a[1] dp[...

2018-03-11 22:18:19 330

原创 Vijos 1485 传球游戏 (DP)

题意分析状态设计: dp[i][j]dp[i][j]dp[i][j] 表示传递i次传到j位置的方案总数状态转移: dp[i][j−1]+=dp[i][j]dp[i][j−1]+=dp[i][j]dp[i][j-1] += dp[i][j] dp[i][j+1]+=dp[i][j]dp[i][j+1]+=dp[i][j]dp[i][j+1] += dp[i][j]初始状态 dp...

2018-03-11 22:12:32 264

原创 洛谷P1064 金明的预算方案(DP)

题意分析变形背包 对于每种商品有5种决策 不买 买主件 买主件+1号附件 买主件+2号附件 买主件+1号和2号附件 对于5种决策分别DP即可代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 35000;const int mmax = 100;int mainv[mm...

2018-03-11 22:08:19 195

原创 POJ 1088 滑雪 (DP)

题意分析一开始用的dfs 果断超时后来想了一下,用DP是否可行 这样思考,首先从高到低给所有格子排序。由于只能从高处往地处滑,所以我就从高处向地处递推。 dp[i][j]dp[i][j]dp[i][j]就表示从格子iii行jjj列 最大第几次能访问到。 样例中数字1所在的位置就为25,即为答案所求。由于是从高向低递推,初始状态就是所有最高的地域: dp[x][y]=0dp[x][...

2018-03-11 21:53:41 228

原创 JoyOI 1091 等差数列(DP)

题意分析等差数列的定义是一个数列S,它满足了(S[i]-S[i-1]) = d (i>1)。显然的一个单独的数字或者两个数字也可以形成一个等差数列。 经过一定的学习小C发现这个问题太简单了,等差数列的和不就是(Sn+S1)*n/2?因为这个问题实在是太简单了,小C不屑于去解决它。这让小C的老师愤怒了,他就找了另外一个问题来问他。 小C的老师给了他一个长度为N的数字序列,每个位置有一个...

2018-03-09 10:54:49 488

原创 OpenJ_Bailian - 2773 采药(DP)

题意分析裸地01背包 因为数组开小了WA了一万年代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 105;int c[nmax],v[nmax];int dp[nmax][1005];int totime,m;int main(){ while(scanf("%d %d",&...

2018-03-08 18:33:30 235

原创 Travel With Haskell 3 — 列表推导式

Travel With Haskell 3 - 列表推导式什么是列表推导式Haskell 列表推导式与Python十分的相似,可以理解为从列表元素中筛选(过滤)出符合条件的值。格式在Haskell中,列表推导式大概长这个样子:[x|description][x|description][x | description ]乍一看以为是数学集合的描述法,其实真的长得差不...

2018-03-07 23:05:43 695

原创 P2066 机器分配 (区间DP)

题意分析总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。区间DP状态设计dp[i][j]dp[i][j]dp[i][j] 表示前i家公司分j台机器的最大的收益值。状态...

2018-03-07 22:20:14 619

原创 CodeForces - 546B Soldier and Badges

题意分析给出n个数,每次操作可以将一个数+1,要使这n个数都不同,至少要加多少次。sort下挨个遍历,如果当前数小于等于前一个数,则将该数++。代码总览#include<bits/stdc++.h>using namespace std;const int nmax = 3005;int num[nmax];int main(){ int n,a...

2018-03-07 22:00:26 290

原创 CodeForces - 570B Simple Game

题意分析给出n,m 求一个数a(1<=a<=n)使得当c在1到n的整数中随机取值时,|c-a|<|c-m| 成立的概率最大。想一下绝对值函数的图像,然后在草稿纸上手画一下即可做出来。 提示: 以2m和n的关系来作为分界点来判断代码总览#include<bits/stdc++.h>using namespace std;typedef long...

2018-03-07 21:56:13 251

原创 CF492C Vanya and Exams (贪心)

题意分析有一个人有n门课程,每一门课程他最多获得r学分,他只要所有课程的平均学分大等于avg ,他就可以获得奖学金每门课程,他已经获得了ai学分,剩下的每一个学分,都需要写bi篇论文才能得到,然后问你,这个人最少写多少论文才能获得奖学金按照bi降序排列,从小到大选择即可。 别问我为什么要用longlong,我是不会说的代码总览#include<bits/stdc+...

2018-03-07 21:51:32 452

原创 HDU1372 Knight Moves (BFS)

题意分析在国际象棋棋盘中给出两个点,问马从一个点到另一个点最少需要跳几步。国际象棋中的马和中国象棋的马没有什么区别,只是没有蹩马腿这一说。然后就是裸地BFS了。代码总览#include<bits/stdc++.h>#define ll long longusing namespace std;const int nmax = 10;const int n...

2018-03-07 21:47:07 236

原创 POJ2246 Matrix Chain Multiplication (DFS)

题意分析给出几个矩阵的规模,和几个矩阵的相乘的式子,计算这个矩阵相乘的式子是否合理,如果合理请给出乘法要计算多少次。在处理矩阵表达式的时候有点类似 括号匹配的问题。 如果当前位置是一个左括号,那么我们就继续递归的调用处理表达式的函数,直到读到不是括号(即矩阵),然后就载入当前矩阵的行列信息。并返回该矩阵对象。在读到两个矩阵之后,判断是否满足相乘的条件,即前一个矩阵的列数是否等于第二个矩...

2018-03-07 21:44:20 216

原创 POJ 1017 Packets (贪心)

题意分析一家工厂生产的产品规格分为1×1, 2×2, 3×3, 4×4, 5×5, 6×6,高都是h。工厂要把它们包在6×6×h的包装袋中。工厂想让包装数尽可能少。 一开始把这道题想复杂了,其实只用考虑面积。也就是说物品的高和包装袋的高都是一样的。自然而然能想到有2种装东西的方案,一种是先装小的,再装大的;另外一种就是先装大的,再装小的。明显第一种做法不正确。原因是如果先装完小的,...

2018-03-07 21:35:10 194

原创 51Nod - 1021石子归并(区间DP)

题意分析区间dp状态设计dp[i][j]表示从第i堆石子到第j堆石子的最小花费。状态转移dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+sum[i][j])dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+sum[i][j]) dp[i][j] = max(dp[i][j], dp[i][k] +dp...

2018-03-07 21:25:22 249

原创 POJ 2260 Error Correction (水题)

题意分析判断每行每列1的个数是否为偶数 如果均为偶数,那么OK 如果只有1行1列为奇数,Change所在行列即可·· 除此意外的所有情况均为Corrupt代码总览#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int nmax...

2018-03-04 23:02:16 208

原创 POJ1555 Polynomial Showdown (输出多项式)

题意分析给出一个度为8的多项式,按照书写的格式将其输出出来。 注意如果系数为1的时候,不要输出多余的1,如果第一个系数为负,要输出一个符号。如果多项式的次数为1,不要输出多余的1.思路就是先找到一个系数不为1的,然后将其输出,输出的时候注意正负,而且要特判是否系数为1,特判是否为次数为1,特判是否是常数项。如果找到了一个,那么说明多项式不为0,否则为零。接下来写一个OutPut函...

2018-03-04 21:18:03 641

原创 POJ1504 Adding Reversed Numbers

题意分析将两个反向数进行求和,之后再反向,输出是去掉前导零。代码总览#include<cstdio>#include<cstring>#include<algorithm>#define nmax 200using namespace std;char num1[nmax],num2[nmax],sum[nmax];int len...

2018-03-04 20:53:06 160

原创 C语言课程设计-迷宫问题的求解

需求分析问题描述要求使用链栈非递归的形式求解迷宫问题,并用递归的方式求解全部可能的路径。首先需要写好链栈的相关操作,如初始化,判空,入栈,出栈等等。并且熟练使用栈的相关操作。其次对于迷宫问题,需要使用非递归的方式,就需要将朴素的递归搜索方式,借助链栈转换成非递归的方式。对于求出全部可能路径,可以使用类似图的深度优先搜索的方式,依次求解出路径基本要求输入的形式和...

2018-03-04 09:49:32 16629 15

原创 数据结构实验8-二分查找与二叉排序树

实验要求用随机数产生100个待查找数据元素的关键字值。测试下列各排序函数的机器实际执行时间:(1)顺序查找 (2)二叉排序树查找 (3)折半查找提示: (1)和(2)使用同样的实验数据;(3)要求数据元素必须有序,故需要先使用排序算法进行排序(可以使用冒泡排序)程序代码#include <bits/stdc++.h>#define nma...

2018-03-03 10:59:30 2523

原创 数据结构实验7-有向图的邻接表与Dijkstra

实验要求编写一个程序,实现图的相关运算,并在此基础上设计一个主程序,完成如下功能:设计并实现有向图的邻接表表示实现Dijkstra算法。输出Dijkstra中从目标起点到各顶点的最短路径程序代码#include <iostream>#include <cstdio>#include <algorithm>#include &...

2018-03-03 10:58:06 1800

原创 数据结构实验6-图算法 最小生成树 BFS与DFS

实验要求编写一个程序,实现图的相关运算,并在此基础上设计一个主程序,完成如下功能:建立如教材图7.所示的有向图G的邻接矩阵,并分别输出顶点表和邻接矩阵。在图G的邻接矩阵存储表示基础上,实现深度优先遍历算法,输出从顶点V1开始的深度优先遍历序列。实现广度优先遍历算法,输出从顶点V1开始的广度优先遍历序列。建立如教材图7.16(a)所示的无向带权图G的邻接矩阵,实现普里姆算法,输出从顶...

2018-03-03 10:56:55 3029

原创 数据结构实验4-树与二叉树先序/中序/后续遍历

实验要求程序代码运行结果实验要求任务1:以算法6.4创建二叉树的存储结构,树的具体形态自定。任务2:对任务1中的二叉树分别实现先序、中序、后序遍历(递归实现)和中序遍历的非递归实现以及层序遍历;任务3:统计1中树的结点总数、叶子结点总数以及树的高度;程序代码#include <iostream>#include <cstdio&...

2018-03-03 10:54:21 639

原创 数据结构实验3-串和数组

串的模式匹配运算实验要求程序代码运行结果数组的操作实验要求要求程序代码运行结果串的模式匹配运算实验要求编写一个程序,实现顺序串的各种模式匹配运算,并在此基础上设计主程序完成如下功能: (1)建立目标串s=‘abcabcdabcdeabcdefabcdefg’和模式串t=‘abcdeabcdefab’; (2)由模式串t求出next值和ne...

2018-03-03 10:52:07 2103

原创 数据结构实验2-栈和队列

实现顺序栈的基本运算实验要求程序代码运行结果实现链栈基本运算实验要求程序代码运行结果实现循环队列的基本运算实验要求程序代码运行结果实现链队列的基本运算实验要求程序代码运行结果实现顺序栈的基本运算实验要求编写一个程序,实现顺序栈的各种基本运算,并在此基础上设计一个主程序完成如下功能: (1)初始化栈s; (2)判断栈s...

2018-03-03 10:48:57 4307 1

原创 数据结构实验1— 线性表、链表的实现

实现顺序表各种基本操作实验要求程序代码运行结果实现单链表各种基本操作实验要求程序代码运行结果约瑟夫环问题实验要求问题描述基本要求测试数据程序代码运行结果实现顺序表各种基本操作实验要求编写程序实现顺序表的各种基本运算,并在此基础上设计一个主程序完成如下功能:(1)初始化顺序表L; (2)依次在L尾部插入元素-1,21,13...

2018-03-03 10:46:43 9413

原创 POJ 2080 && ZOJ 1256 日期计算实例

POJ 2080题意分析输出 2000年1月1日后 n 天后的日期与星期。首先算整年,在整年不满足的情况下,计算整月,在月不满足的情况下,计算天数。最后求和,即是日期。根据2000年1月1日式星期天,设定wstr星期字符串常量,模7后求得星期。代码总览#include<cstdio>using namespace std;const char wst...

2018-03-02 23:01:17 262

原创 Travel With Haskell 2 — 运算与List初步

Travel With Haskell 2 — 运算与List初步Travel With Haskell 2 — 运算与List初步运算运算符简单的内置函数Haskell的if语句格式ListList的合并List的索引List的函数Range方法运算运算符运算符大同小异,下面是几点需要注意的。乘方符号为 ∗∗∗∗** 不等号为 /=/...

2018-03-02 14:20:29 512

原创 Travel With Haskell 1 — Haskell环境配置与编辑器安装

Travel With Haskell 1 — Haskell环境配置与编辑器安装Haskell环境配置在 https://www.haskell.org/downloads 中的 Downlaods中下载Haskell PlatForm,下载完成后一路安装即可。安装成功后,环境就配置好了。 可以打开cmd,输入stack查看是否存在此命令,如果存在,即说明正确配置,环境变量...

2018-03-02 10:25:14 1118

原创 第2章 C++简单程序设计 难点

第2章 C++简单程序设计 难点VC++与C++的区别VC++是IDE(集成开发环境),而C++是一种面向对象编程的语言。基本数据类型范围 类型名 长度(字节) 取值范围 bool 1 false,true char 1 −27∼27−1−27∼27−1-2^7 \sim 2^7-1 unsigned char 1...

2018-02-28 22:08:10 231

原创 Python 3 学习指南

Python 3 学习指南Python 3 学习指南语法部分基础语法基本数据类型数字类型类型查看删除操作数值运算String(字符串)Index 索引与操作格式化输出循环遍历List(列表)Tuple(元组)Set(集合)Dictionary(字典)输出操作类型转换运算符基本运算符逻辑运算符成员运算符身份运算符二、数据类...

2018-02-28 22:03:17 834

原创 汇编语言之串处理操作

汇编语言之串处理操作基础知识SHL为逻辑座椅命令,其中OPR为寄存器或者内存单元,移位次数可以是1或者CL寄存器,如需移位的次数大于1,则可以在该移位指令前把移位次数先送CL寄存器中。LOOP为循环指令,当CX≠0时循环,LOOPZ/LOOPE为当为零/相等时循环,换句话说即当ZF=1且CX≠0时循环。LOOPNZ/LOOPNE当不为零/不相等时循环,换句话说当ZF=0且CX≠0时

2018-02-03 22:02:17 6286 1

algebra_2005_2006.zip

algebra_2005_2006数据集,常作为知识追踪的使用数据。KDD Cup 2010: Educational Data Mining Challenge使用的数据集之一。

2020-04-11

Dynamic Graph Algorithms

Dynamic Graph Algorithms Methodology & State of the Art Algorithmic Techniques & Experimen Conclusions

2018-08-26

空空如也

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

TA关注的人

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