自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 普及练习场 普及常见模板 【模板】单源最短路径

题目链接:https://www.luogu.org/problemnew/show/P3371题意理解这就是用来验板子的题目,讲真我这套代码跑的飞快,最大的点也就96ms我这套代码勉强能用吧。。代码#include // 注意点和边是从0开始编号的,如果不一样,需要修改const int inf = 0x3f3f3f3f;// 点的最大数,开数组用const

2018-01-31 11:23:18 4111

原创 2018年全国多校算法寒假训练营练习比赛(第二场)

题目链接:https://www.nowcoder.com/acm/contest/74#description吐槽一下这场比赛其实出的锅好多。。我当场反映了一个数据问题,客服回复说没有问题,然而过一会又通知说确实出现了我说的问题。。。。然后就是输入,并不能理解这个输入方式,一会儿是单组一会儿是多组。当然自己的心态很爆炸,自己的水平也很菜。A 吐泡泡考虑到数据量的问题,加上之前

2018-01-29 22:49:54 4656

原创 普及练习场 普及常见模板 【模板】线性筛素数

题目链接:https://www.luogu.org/problemnew/show/P3383题意理解显然是用来验板子的代码#include #include #include #include #include #include #include #include using namespace std;/** 素数筛选,判断小于MAXN的数

2018-01-28 13:04:00 4688

原创 普及练习场 普及常见模板 【模板】最小生成树

题目链接:https://www.luogu.org/problemnew/show/P3366题意理解给出一个无向图,求出最小生成树。这就是给用来验板子的代码#include #include #include #include #include #include #include #include #include using namespa

2018-01-28 11:20:12 4513

原创 BOSS战-普及综合练习3-数列

题目链接:https://www.luogu.org/problemnew/show/P1062题意理解1∗301∗31+0∗301∗31+1∗301∗32+0∗31+0∗30" role="presentation" style="position: relative;">

2018-01-28 09:56:09 4478

原创 BOSS战-普及综合练习3-积木大赛

题目链接:https://www.luogu.org/problemnew/show/P1969题意理解很容易发现:如果一个数列,先递增,再递减,或者只有递增(递减),那么操作次数就是其中的最大值。然后很容易观察出,结果与若干个极大值减去极小值的和有关。为了更方便理解,可以在最前面加一个0。那么必然就是一个极小值对应一个极大值。至于最后一段如果极大值后面还有数字,那么是不影响结果的

2018-01-27 22:42:01 3721

原创 BOSS战-普及综合练习3 生活大爆炸版石头剪刀布

题目链接:https://www.luogu.org/problemnew/show/P1328题意理解这个就是拓展了石头剪刀布规则的游戏,本质上还是打表。然后由于数据量的原因,可以直接暴力循环,而不需要求最小公倍数去计算。代码import java.io.BufferedReader;import java.io.InputStreamReader;impor

2018-01-27 21:58:08 3939

原创 普及练习场 BOSS战-普及综合练习2 立体图

题目链接:https://www.luogu.org/problemnew/show/P1058参考博客链接:https://www.luogu.org/blog/ahzxp/solution-p1058题目理解要找出L, K和m, n的关系。这个其实是比较复杂的。对于L,我们可以画出边界位置,然后验证,而K是一个动态的,就很麻烦。。。不过可以在样例的基础上进行修改,可以观察出结

2018-01-26 20:46:42 4767

原创 杂七杂八东西的声明

本人博客中可能会有一些杂七杂八的东西,比如说讲一讲Java的历史,虽然到现在还没有开始写。。。还有比赛心得什么的可能也会往这里放。当然这篇文章主要是为了占位,能让左边的个人分类显示完整,阅读效果更好。

2018-01-25 20:59:30 4503

原创 开发向占位声明

开发向是写一些关于自己在校内学习的有关开发方面的内容,当然可能分类有点不准确,比如说为什么编译原理会放这个里面呢?、、但是主要还是以开发为主。其中最主要的应该是Java开发,另外会夹杂一些Linux的学习。

2018-01-25 20:57:23 5584

原创 算法向声明

目前会以信息学竞赛及ACM向的题目为主,之后会涉及到别的领域的内容。我个人比较偏向于学习计算机图形学,因此可能之后会写一些关于学习图形学的算法的文章。主要还是要占个位置,让个人分类能显示完整。

2018-01-25 20:55:33 4844

原创 简单的占位文章

由于CSDN修改了个人分类的机制,文章数少于0的分类不会在主页显示,这就打乱了我的计划,影响排版了,因此发一篇很水的占位文章,希望能完整显示所有的分类。

2018-01-25 20:53:16 4546

原创 普及练习场 BOSS战-普及综合练习2 守望者的逃离

题目链接:https://www.luogu.org/problemnew/show/P1095题意理解这题其实最近做过一条差不多的,吃鸡跑毒那条。但是还是不一样。由于考虑的是最短时间和最长路程,根据数字的大小来看,表示每一时刻能跑的最长路程,应该是最靠谱的,并且也符合题目要求。那么如何表示每个时刻能跑的最长路程呢?可以考虑暴力搜索,但是看看这个T大小,好像不是很好做。第一步应该想到,一开始是全部都

2018-01-25 20:47:21 5274

原创 2018年全国多校算法寒假训练营练习比赛(第一场)

2018年全国多校算法寒假训练营练习比赛(第一场)题目链接:https://www.nowcoder.com/acm/contest/67#question由于被J题题意卡了一下,又被F题卡了一下,主要是自己题目没有读清楚,因此成绩不是很理想。但是该补的还是要补的。官方题解2018年全国多校算法寒假训练营练习比赛(第一场) 题解A 贪心+枚举同类型配件只取最高的,

2018-01-23 23:21:00 4657

原创 普及练习场 BOSS战-普及综合练习1 幻想迷宫

题目链接题意理解这题非常坑爹,因为Java跑的真的太慢了。主要就是一个深搜/广搜,虽然我深搜没过掉。。。这条题目是说,把给定的迷宫复制若干份,比如说原来的迷宫是这样的:S00011112222复制若干份是说:S000|S000|S0001111|1111|11112222|2222|2222--------------S000|S000|S000

2018-01-16 23:59:12 4193

原创 普及练习场 简单数学 [SDOI2008]仪仗队

题目链接题意理解假设起点是(0,0)(0, 0)。首先证明,(x,y)(x, y) 所在的点如果被挡住,那么一定gcd(x,y)=1gcd(x,y)=1 ,否则假设gcd(x,y)=dgcd(x,y)=d ,会有(xd,yd)(\frac{x}{d} , \frac{y}{d}) 挡住视线。然后根据图,右上到左下把图分成两半。然后显然,第ii 排能看到的点的个数是横纵坐标互质的点,纵坐

2018-01-16 23:42:49 3219

原创 普及练习场 简单数学 末日的传说

题目链接题意理解感觉这不是数学题,是一个贪心。从1开始考虑,如果放在最后,那么就有N−1N-1 个逆序对是以1为后边的,如果放前面,那么就有0个。然后同样是个数相同的逆序对,逆序越靠后,数字越小,因为靠前面的数字影响要大一些。所以我在写题解的时候,想到应该从后往前贪计算更简单一些。应该可以不需要计算那个temp了。如果有谁这么写并且写对了可以联系我一下:)代码imp

2018-01-16 23:32:40 3914

原创 普及练习场 简单数学 又是毕业季I

题目链接题意理解看完代码你想想就知道答案了。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args)

2018-01-16 23:24:08 3477

原创 普及练习场 简单数学 A % B Problem

题目链接题意理解对于[l,r][l,r] 之间的素数个数,只要知道[0,l)[0, l) 之间的素数个数和[0,r][0,r] 之间的素数个数就可以了。此题可以用来验素数筛的板子。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStreamWr

2018-01-16 23:22:11 3148

原创 普及练习场 贪心EX 木棍加工

题目链接题意理解我第一眼感觉就是,这跟导弹拦截差不多啊,看懂导弹拦截就好了。代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringToken

2018-01-16 23:18:12 2233

原创 普及练习场 贪心EX 皇后游戏

题目链接题意理解显然,第i+1i+1 位大臣拿的钱比第ii 位大臣多记i−1i-1位大臣拿的钱为ci−1c_{i-1} ,第ii 位大臣和第i+1i+1位大臣拿的钱可以分别表示出来。此时顺序是,i−1,i,i+1i-1, i, i+1 ①然后交换第ii 位大臣和第i+1i+1位大臣。此时顺序是i−1,i+1,ii-1, i+1, i②此时我们希望第i+1i+1位大臣排在后面

2018-01-16 23:11:35 1224

原创 普及练习场 高精度算法 A+B Problem(高精)高精度减法 A×B Problem

题目1:https://www.luogu.org/problemnew/show/P1601题目2:https://www.luogu.org/problemnew/show/P2142题目3:https://www.luogu.org/problemnew/show/P1303题意理解这对于Java选手来说简直就是随便写,当然对于python选手也是。代码i

2018-01-15 16:31:57 1475

原创 普及练习场 更要技巧的动规与记忆化 统计单词个数

题目链接题意理解首先,用dp[i][j]dp[i][j]表示把第[0,i][0, i]个字母(从0开始计数)分成j部分,这其中最大的单词数,那么状态间的拓展关系应该是枚举每个小于i的值,并加上这其中的单词数。另外,求单词数也是可以用dp的。详细解释见代码。代码import java.io.BufferedReader;import java.io.IOExcept

2018-01-15 16:27:26 609

原创 普及练习场 更要技巧的动规与记忆化 乌龟棋

题目链接题意理解代码中dp[i][j][k][l]dp[i][j][k][l] 表示使用了i张1,j张2,k张3,l张4能走到的最大数。代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.String

2018-01-15 16:10:24 603

原创 普及练习场 多维动态规划 最大正方形

题目链接题意理解这个题目我做过数据加强版本的,当时是用二分做的,不过好像TLE了。不过这次的数据量来看,是可以直接暴力求解的。当然考虑到这个题目放在了动态规划这个专题里面,那么递推方程还是不复杂的。dp[i][j]dp[i][j] 表示当前位置从左方、上方、左上方来看,选[i][j][i][j]这个点可以保证的正方形的最大边长。然后每个点往左边,左上方,上方拓展。代码i

2018-01-15 16:06:29 722

原创 普及练习场 多维动态规划 传纸条

题目链接题意理解用dp[i][j][i1][j1]dp[i][j][i1][j1]表示来的时候从[i][j][i][j] 走,回去的时候从[i1][j1][i1][j1] 走的最大和,那么只要来回不是从同一个格子走,那么就没有问题。最后结果应该是max(dp[M−1][N][M][N−1],dp[M][N−1][M−1][N])max(dp[M-1][N][M][N-1], dp[M]

2018-01-15 15:55:30 291

原创 普及练习场 多维动态规划 Likecloud-吃、吃、吃

题目链接题意理解这个和数字金字塔真的是一样的,就是拓展的方向多了一个。。。代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main {

2018-01-15 01:01:22 251

原创 普及练习场 线性动态规划 石子合并

题目链接题意理解首先这道题目不能用这样的贪心来做:对于环中的和最小的两个石子堆,先合并。因为这样做可能会导致在有的时候,不止一个和最小的两个石子堆,你在这里合并了之后,会影响后继的合并状态。这与之前可以用贪心写的不一样,是因为之前是可以任意合并两堆石子,而这里是环形中可以合并相邻的两堆石子。然后需要注意一下断环成链的技巧。注意点大部分都写到注释里面了。代码import

2018-01-15 00:58:34 436

原创 普及练习场 线性动态规划 尼克的任务

题目链接题意理解这道题目如果从后往前推,那就比较简单。状态转移方程直接看源代码。其中dp[i]dp[i]表示第i分钟时可以休息多久。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main

2018-01-15 00:53:16 242

原创 普及练习场 线性动态规划 合唱队形

题目链接题意理解这道题目数据范围非常小,所以是可以使用O(n2)O(n^2)算法的。直接正着DP再反着DP,最后求和减一,得到最大的值就是最后留下来的人数。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public

2018-01-14 17:14:12 387

原创 普及练习场 线性动态规划 导弹拦截

题目链接题意理解这道题目第一问是要求出,最长的非上升子序列的长度。第二问可以用到结论:对于一个偏序集,其最少链划分数等于其最长反链的长度。此时只需要求出最长非下降子序列的长度。可以参考这篇文章。于是,这条题目就变成了两次DP。对于DP,可以参考这篇文章。这题细节有点多,对于大于小于号需要对于状态有着正确的理解才行。代码import java.io.B

2018-01-14 16:48:49 390

原创 普及练习场 动态规划的背包问题 金明的预算方案

题目链接题意理解首先说一下,这道题目我简直WA疯了。WA点主要有这么几个:细节。在输入的时候,如果q>0,那么这时候应该是第q个货物的附加货物。关键部分。状态转移方程少掉了一个状态。这个题目应该有四个状态转移方程:只选主货物;选主货物与第一个附加货物;选主货物与第二个附加货物;选主货物与第一个附加货物与第二个附加货物。我漏掉了这个状态。关键部分。状态转移方程写错了。实际上

2018-01-13 21:25:18 252

原创 普及练习场 动态规划的背包问题 小A点菜

题目链接题意理解记dp[i]dp[i] 表示ii元可以点菜的方案数。对于dp[0]=1dp[0]=1 ,表示没钱的时候只能不点菜。假设一道菜的价格是a元,那么对于任意的j≥aj \ge a ,有dp[j]+=dp[j−a]dp[j] += dp[j-a]代码import java.io.BufferedReader;import java.io.InputStrea

2018-01-13 21:12:33 380

原创 普及练习场 动态规划的背包问题 开心的金明

题目链接题意理解这题只要把价格乘以重要度,就变成了01背包。然后01背包是有套路的。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int N, m;

2018-01-13 20:57:29 179

原创 普及练习场 树形数据结构 新二叉树

题目链接题意理解这题其实可以直接建树做,但是我偷懒了一下,直接在map里面存储了序号与树的对应关系。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import java.util.Stri

2018-01-11 23:40:19 210

原创 普及练习场 树形数据结构 求先序排列

题目链接题意理解这是一道非常经典的题目。中序遍历的顺序是:左根右,后序遍历的顺序是左右根。由于我们构造节点的时候,一个是需要有这个节点的值,一个是需要左右子节点,那么就显然要借助后序遍历的根来赋值,并借助中序遍历的左和后序遍历的左来构建左子节点。同理,构建右子节点。代码import java.io.BufferedReader;import java.io.Input

2018-01-11 23:35:27 286

原创 普及练习场 树形数据结构 FBI树

题目链接题意理解这条题目是这样的: 全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。如果一个节点的字符串满足这样的性质,那么它的值就是FBI中的一个。然后需要将这个节点的字符串对半分去构建子树。代码import java.io.BufferedReader;import java.io.InputStreamReader;i

2018-01-11 23:31:02 383

原创 普及练习场 线性数据结构 表达式括号匹配

题目链接题意理解这个显然使用栈这个数据结构啊代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { public static

2018-01-11 19:17:41 280

原创 普及练习场 线性数据结构 最大子段和

题目链接题意理解首先考虑到,如果从一个最大的子段和如果是负数开始的,那么就可以去掉这个负数得到一个更大的子段和。于是就会想到,直接拿sum保存当前的位置的最大和。注意特判一下,如果是最后结果为0,那么表明前面全是负数/0,那么这时候再遍历一下。代码import java.io.BufferedReader;import java.io.InputStreamReade

2018-01-11 19:17:16 196

原创 普及练习场 线性数据结构 约瑟夫问题

题目链接题意理解这道题目显然是一道非常经典的题目。。。所以随便怎么写吧。其实数据量这么小,可以直接暴力模拟整个过程,把所有的人给个布尔值,判断生死。代码import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.uti

2018-01-11 19:16:35 291

数据库开发技术PPT

这是我自己从网上找到的一份针对考试的PPT,里面是详细的例子,比老师给的例子好。

2017-11-25

空空如也

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

TA关注的人

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