自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 提高历练地 搜索Ex 小木棍[数据加强版]&&油滴拓展

https://www.luogu.org/problemnew/show/P1120 https://www.luogu.org/problemnew/show/P1378 小木棍这题可以考虑用数组记录每个长度的小木棍的数量。求出木棍长度和,然后从最长的小木棍长度到总长度一半,枚举所有可能。 油滴这题,是《算法艺术与信息学竞赛》上的题目。需要注意的一点是,如果某个点还没有油滴,那么别的油滴...

2018-02-12 17:13:27 677

原创 codeforces 919非官方题解(不完整版)

CodeForces 919 非官方题解 官方题解:http://codeforces.com/blog/entry/57462 919A 思路 在每家店计算所需要的花费,从而求出最小花费。纯暴力。 代码 #include #include #include #include #include #include #include #include us

2018-02-02 21:42:06 3462

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

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

2018-01-31 11:23:18 4122

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

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

2018-01-29 22:49:54 4670

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

题目链接: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 4702

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

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

2018-01-28 11:20:12 4526

原创 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 4489

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

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

2018-01-27 22:42:01 3734

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

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

2018-01-27 21:58:08 3949

原创 普及练习场 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 4782

原创 杂七杂八东西的声明

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

2018-01-25 20:59:30 4511

原创 开发向占位声明

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

2018-01-25 20:57:23 5594

原创 算法向声明

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

2018-01-25 20:55:33 4856

原创 简单的占位文章

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

2018-01-25 20:53:16 4566

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

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

2018-01-25 20:47:21 5290

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

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

2018-01-23 23:21:00 4665

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

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

2018-01-16 23:59:12 4206

原创 普及练习场 简单数学 [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 3232

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

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

2018-01-16 23:32:40 3927

原创 普及练习场 简单数学 又是毕业季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 3492

原创 普及练习场 简单数学 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 3167

原创 普及练习场 贪心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 2251

原创 普及练习场 贪心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 1234

原创 普及练习场 高精度算法 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 1489

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

题目链接 题意理解 首先,用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 625

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

题目链接 题意理解 代码中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 614

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

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

2018-01-15 16:06:29 745

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

题目链接 题意理解 用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 303

原创 普及练习场 多维动态规划 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 263

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

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

2018-01-15 00:58:34 457

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

题目链接 题意理解 这道题目如果从后往前推,那就比较简单。状态转移方程直接看源代码。其中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 249

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

题目链接 题意理解 这道题目数据范围非常小,所以是可以使用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 397

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

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

2018-01-14 16:48:49 405

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

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

2018-01-13 21:25:18 268

原创 普及练习场 动态规划的背包问题 小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 395

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

题目链接 题意理解 这题只要把价格乘以重要度,就变成了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 190

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

题目链接 题意理解 这题其实可以直接建树做,但是我偷懒了一下,直接在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 223

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

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

2018-01-11 23:35:27 297

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

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

2018-01-11 23:31:02 399

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

题目链接 题意理解 这个显然使用栈这个数据结构啊 代码 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 296

数据库开发技术PPT

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

2017-11-25

空空如也

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

TA关注的人

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