摘要: 首先,看到这题,大家肯定首先想到暴力+dfs吧! 可是这题暴力会超时; 好吧我们还是来认真思考下正解 思路应该是枚举出所有种类的邮票,最后判断一下,并记录最大值 暴搜,不行的话,可以剪枝? 1.使a数组保持单调递增,dfs中每次从a[k-1]+1开始搜索,以此来消除重复的搜索;(常规思路) 2.a[ 阅读全文
posted @ 2020-11-05 10:50 Linyk 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题解 首先的话,上个题目链接 https://www.luogu.com.cn/problem/P1966 读懂了题目大意,稍微有点头绪 我们发现要求这个和的最小值 即min{∑(ai-bi)^2 (1<=i<=n)} 展开,得min{∑(ai^2+bi^2-2*ai*bi)}=min{∑ai^2+ 阅读全文
posted @ 2020-11-04 20:54 Linyk 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 初赛 Day 0 学校还在上whk啊啊啊要疯,反正明天要请假今天作业干脆别写了。 回到家里花了一个晚上水题,初赛的题就稍微看了几眼 Day 1 这次是第一次参加提高(今年暑假才开始学的OI,都初三了学得特别晚,感觉没啥前途) 上午: 感觉难度还行,和去年差不多(?) 可是有些细节没注意啊啊啊,到了收 阅读全文
posted @ 2020-10-12 21:13 Linyk 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 线段树 首先,如果你在这之前不知道线段树的话,那么希望我的文章对你有帮助; 如果您已经会了,那么请移步,这里只介绍线段树最基本的概念; 引入 ~先来看引入: 给定一个整数序列,每次操作会修改序列上某个位置的数,或者是询问序列中某个区间内的所有数和。 如果我们采取暴力的话,那么单点修改的复杂度为O(1 阅读全文
posted @ 2020-08-28 21:34 Linyk 阅读(257) 评论(0) 推荐(0) 编辑
摘要: Solution 这是一道Dijkstra最短路的模板题 在这里就不说明dj的原理和正确性了(自己查),注意dj仅限于边权为非负的图 还有这题竟然卡SPFA(毒),还是用开了堆优化的dijkstra吧 复杂度是O((n+m))log⁡n) #include<bits/stdc++.h> using 阅读全文
posted @ 2020-08-26 17:48 Linyk 阅读(125) 评论(0) 推荐(0) 编辑
摘要: Solution 这个题没啥好说的,一道裸的高精加 如果说你不会高精的话,其实会点数学稍微思考下也会做了, 想学高精可以去做一做洛谷1601; 好吧,这么水的题,代码: #include<bits/stdc++.h> using namespace std; string x; int k,len; 阅读全文
posted @ 2020-08-26 17:36 Linyk 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Solution 第一问很明显,是动态规划 先把每个导弹排序后,f[i]表示拦截最后一颗导弹为i的最大拦截数 f[i]=max(f[i],f[j]+1) 那么对于第二问,就要换个思路 我们可以想,在系统拦截一个导弹i后,再拦截一个导弹j,点i向j连一条有向边 这样就形成了有向无环图(DAG) 所以问 阅读全文
posted @ 2020-08-08 16:52 Linyk 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有 n 个人参加投票游戏。 每个人会投支持票或者反对票,第 i 个人投支持票的概率是p[i] 。 选出k个人使平票的概率最大。 全部的输入数据满足: 2≤k≤n,k是偶数。 0≤pi​≤1(1≤i≤n) n≤2000 思路:根据样例我们可以发现先对所有的p[i]排序后,肯定是从头尾取几个人 阅读全文
posted @ 2020-08-06 12:26 Linyk 阅读(178) 评论(0) 推荐(0) 编辑