摘要: 前言 本学期的java终于将告一段落,过程一言难尽。 笔记 封装:将属性私有化,通过setter()和getter()方法来访问属性,目的是为了增强安全性,通过外部接口访问类的成员。 继承:将多个相同的方法、属性提取出来,新建了一个父类,但是一个类只能继续一个父类,且只能继承访问权限为非privat 阅读全文
posted @ 2020-06-06 20:31 Bear_2 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前言 刷就完事了嗷,终于开始知道用什么样的理解去写这些题了,想起了一年前骗分的众多技巧,只要胆大心细没有骗不到的分。上课的时候质疑了出题人没给数据范围,结果既然是我没注意到类图里有(刷题刷傻了),说实话我没有看着别人的思路写东西的习惯(除非不会蒟蒻落泪)。至于所说的这么多设计原则,emmmm真没记住 阅读全文
posted @ 2020-04-29 17:55 Bear_2 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路: 大力推公式:dp[i]=min(dp[k]+max(k+1,i)){k>=0&&k<i},max(j,i)记为max(a[h]){h>k&&h<=i},时间复杂度o(n^2)跑不动。考虑有什么冗余的决策可以优化,j到i的累加和记做sum(j,i),所以题目要保证sum(k+1,i 阅读全文
posted @ 2020-04-16 16:42 Bear_2 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路: 一道比较有趣的题,解题工作主要分为两块: ①找出k(k=0表示小A先走,k=1表示小B先走,下面同理)从点i出发下一个到达的点to[k][i]; 一开始偷懒用了vector(偷懒一时爽),由于vector的erase操作是o(n)的,这个预处理时间复杂度就彪到o(n2)了。这里改 阅读全文
posted @ 2020-04-13 19:19 Bear_2 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 四边形不等式 定理1: 设w(x,y)为定义在整数集合上的二元函数,若存在任意整数a,b,c,d(a<=b<=c<=d),并且w(a,d)+w(b,c)>=w(a,c)+w(b,d)都成立,则w(x,y)满足四边形不等式。 定理2: 设w(x,y)为定义在整数集合上的二元函数,若存在任意整数a,b( 阅读全文
posted @ 2020-04-10 15:09 Bear_2 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 传送门 大意: 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现。其中大理石的总数不超过20000。 解题思路: 妥妥的多重背包+二进制拆分,主要写一下二进制拆分存个档(儿时的噩梦)。 总所周知,20,21,22,……2k-1从中挑选若干个 阅读全文
posted @ 2020-04-08 23:37 Bear_2 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路: 恒定两格的范围,那么对于每个坐标(i,j)只需要考虑(i-1,j)、(i-2,j)、(i,j-1)、(i,j-2)四种情况,很自然的可以想到以行作为状态转移的阶段,设dp[i][j][k]表示第i行的状态压缩为j,第i-1行状态压缩为k,设cnt[j]为状态压缩为j的情况下1的个 阅读全文
posted @ 2020-04-07 11:01 Bear_2 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 遇到一个环,用正常人类的思想就先把环从中间截断然后将其补成2*n长度的链。环上的最小距离换到链上就是i以n/2为半径范围内的点(画图肉眼可见)。由于两个点是等价的,所以我们考虑有序对(i,j){1<=j<i<=2*n&&i-j<=n/2}。 题目要求最大的a[i]+a[j]+dis( 阅读全文
posted @ 2020-04-06 15:00 Bear_2 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 传送门 换根dp板子题(板子型选手 题意: 一棵树确定源点和汇点找到最大的流量(拿出一整套最大瘤板子orz const int maxn=2e5+10; int head[maxn],tot; struct node { int nt,to;long long w; }q[2*maxn]; long 阅读全文
posted @ 2020-04-05 21:39 Bear_2 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路: 贪心的想,贪婪值越大的孩子应该分得更多的饼干,那么先sort一遍在此基础上进行dp。最直观的方向,可以设dp[i][j]为前i个孩子一共分得j块饼干的怨恨最小值。然后转移第i+1个孩子的状态,设a[i]为比第i个孩子拿到更多饼干的孩子的个数,这时会出现两种情况: 1.第i+1个孩 阅读全文
posted @ 2020-04-04 14:45 Bear_2 阅读(178) 评论(0) 推荐(1) 编辑