常用技巧
左佥都御史
这个作者很懒,什么都没留下…
展开
-
思维-尺取法-poj3061-挑战程序设计2
给你t,t组数据 然后给你一个 长度为m的串,问你字串中,连续长度大于等于n的最小长度为多少。 开始用的暴力查找。妥妥tle。 并且我还窃以为这就是尺取法qwq。。 看到真正的才知道错了。 还有一种方法 是用二分,感觉也挺好 https://vjudge.net/problem/POJ-3061#include <iostream>#include <cstdio>#include原创 2017-05-09 17:39:12 · 316 阅读 · 0 评论 -
Gym - 101550A-并查集&离线-Artwork
http://codeforces.com/gym/101550/attachments 如图所示。 每次染色,然后问你联通块数有多少。 直接看图就行。 思路:比赛的时候想出来了,但是时间不够了,写了一个开头,本来是写对了,但是我看错了坐标,感觉很麻烦就没写。。 离线处理,然后先记录最后一个的联通块数(有一个空块就+1,联通一次就-1.这样就能得到联通块数)然后依次减去以前的操作,再...原创 2017-11-24 14:05:24 · 330 阅读 · 0 评论 -
Gym - 101572B-水题&思维漏洞&排序相关-B - Best Relay Team
https://vjudge.net/contest/200122#problem/B 水题,然而错了6发。后来对的时候也不清楚。 看了数据才清楚。。。 给定n个队员的第一棒速度 和其他棒的速度。问你如何调配4个队员,能够使他们更快的胜利。 第2,3,4棒的速度都是一样的,并且数据范围其小无比,所以直接暴力就行。。 我是枚举i队员作为第一棒,然后排序,找前三个 y值最小的, 参加比赛。原创 2017-11-20 22:02:44 · 313 阅读 · 0 评论 -
POJ2976-01分数规划&二分-Dropping tests
https://vjudge.net/problem/POJ-2976 给定n个人,有两种分数,a,b 要求你选取一部分,要求 sigma(a)/sigma(b) *100得值最大。 化简式子 枚举的mid 不断的逼近最优解。 设定一个精度。#include <iostream>#include <cstring>#include <cstdio>#include <algor原创 2017-11-19 21:59:45 · 707 阅读 · 0 评论 -
hdu5968-重要的细节&记忆化&坑-异或密码
https://vjudge.net/problem/HDU-5968 卡了两个小时,才发现一个重要的问题。 中文题意。 暴力可以卡过,但是考虑到数据范围很小,可以用一个数组记录异或值为x的的最大长度。然后向前向后判断 距离。 如果距离一样。那么就输出最大的,否则输入距离近的。 发现了这个问题。 我思考了好久。。。也就是优先选的方向不同。 第一次是先判断小于等于x的方向,第二个原创 2017-11-16 17:53:47 · 204 阅读 · 0 评论 -
Codeforces Round #444 (Div. 2)-贪心&尺取-Ratings and Reality Shows
http://codeforces.com/contest/887/problem/D 一个模特有两种活动。 ① 拍照片,挣钱 a。 ②开演唱会,花费b 给定模特这两种工作的时间表。 模特可以选定一个时间举办一个座谈会,那么他拍照片的钱变c。开演唱会会花费d。 要求再模特座谈会之前和后len天 都不能赔钱。 要求你输出最小的座谈会天数。 没有输出-1.。 思路:枚举第i天作为 开始的茶原创 2017-11-11 20:11:11 · 1891 阅读 · 0 评论 -
hdu5884-二分&k叉哈夫曼队列优化-Sort
https://vjudge.net/problem/HDU-5884 第一次遇见这种题。。然而却是板切题qwq 给你m个序列的长度,每次可以把k个排好序,然后合成一个,然后继续,知道所有的序列都排好序并且成为一个大长串串,每次的花费这k个长度的加起来的和。问你最小的k,可以使总花费不超过lim。 k叉哈夫曼,结论见我的上一个博客, 然后就二分+k叉,t了。 后来用各种读入挂,都是t。原创 2017-11-01 19:52:05 · 207 阅读 · 0 评论 -
Educational Codeforces Round 31-k叉哈夫曼&优先队列&好题-D. Boxes And Balls
http://codeforces.com/contest/884/problem/D 给定一个n。 然后是n个不同颜色的球的数目。 开始这些球都在第一个盒子里。 你有下面的操作方法 ① 把某一个不空盒子种的球拿出来。 ② 把这些球按颜色装到3个或者2个盒子里,不同颜色可以装在一起。 而每次这种操作的花费为 你第一个操作拿出的球的数目。 问你如何操作,能够使花费最小。一点都不显然,这原创 2017-11-01 11:56:39 · 323 阅读 · 0 评论 -
51nod1483-技巧&标记&思维-化学变换
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1483 这道题看题解了,完全没有思路。。。。 数据范围1e5,所以就把所有当前容量的倍数做了标记, 对于小于他的数,如果结果是奇数,那么也把奇数的倍数做标记(可以证明他和原数的倍数永远不会重叠。),这点不容易想到。#include <bits/stdc++.h>us原创 2017-10-30 21:07:56 · 975 阅读 · 0 评论 -
51nod1785-好题&思维&模拟窗口-数据流算法
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1785 按照题意模拟即可。 开始用vector模拟,用O(n)的erase函数来模拟删除操作。妥妥tle。 用各种求 中位数的方法也不行。动态维护和也不行。 后来用deque模拟,发现deque比vector好用多了。但是还是t最后一组数据 用输入挂也不行。。。原创 2017-11-07 14:39:52 · 221 阅读 · 0 评论 -
15nod1572-模拟&前缀和&枚举-宝岛地图
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1572 中文题意,恕不赘述。 枚举每个点dfs的时候t了。开始每看懂题意。以为只要判断转折点就行了,后来发现只要再点到点的过程种也不能有#出现qwq 技巧:为了避免再转折的时候再判断路径种的点,维护一下方向的前缀和。然后再搞就好了, 枚举是1e6,轻轻松松就可以达到。原创 2017-10-28 16:26:32 · 380 阅读 · 0 评论 -
bzoj1143-最小链覆盖&偏序集定理&二分图-祭祀river
http://www.lydsy.com/JudgeOnline/problem.php?id=1143 据说是南宁m题? 关键是问题的转化,然后就是一个板子。 最大反链覆盖->最小链覆盖。 链就是可以到达的点(任意两个,u可以到达v或者v可以到达u) 最小链覆盖->最小路径覆盖(可交叉) 另外。最近才发现的,二分图的求解往往是隐式拆点了。 看着没有拆,可是求解的过程 用的linker原创 2017-11-28 13:39:25 · 641 阅读 · 0 评论