- 博客(22)
- 资源 (7)
- 收藏
- 关注
原创 Subsequence POJ - 3061 (二分 尺取)
题意: 给出n个整数a[i], 求总和不小于S的连续子序列的最小长度, 不存在输出0题解: 这道题可用二分, 也可用尺取来做(尺取的经典题目), 首先简单说一下二分这道题用二分法写的话也有一个比较巧妙的地方, 就是预处理:定义sum[i]表示∑0iai\sum_0^iai∑0iai序列a[i-j]和即为sum[j]-sum[i]判定条件check函数意为: 以t结尾时不小于S的序列...
2019-01-30 17:42:53 249
原创 Aggressive cows POJ - 2456 (二分 最大化最小值)
题意: 输入N间屋子的坐标, 求最大的c头牛相邻之间的距离题解: 非常经典的最大化最小值问题, 不难看出符合二分法的三要素: 判定条件, 范围, 单调.确定判定函数check为, 判断所有两头牛之间的距离为d时是否可行, 贪心即可解, 每次取最近的距离外的牛另外注意G++对cin和cout极其不友好, 用G++交的同学请把其改为scanf#include <cstdio>#...
2019-01-30 16:01:50 356
原创 Cable master POJ - 1064 (二分 精度问题)
题意: 有N条绳子, 长度分别为L, 如果从他们中切出K条长度相同的绳子的话, 求最长的长度, 报留小数点后两位(不作四舍五入)题解: 这道题是白书上的一道经典二分问题, 但考的远远不止二分知识, 我们先来说说二分的问题对于一个问题, 如果我们可以找到单调的序列, 以及明确的判定条件并能确定大致的范围, 就一定可以使用二分来优化二分模板: int bSearch(int tar, int...
2019-01-30 14:57:24 316
原创 牛客 处女座与复读机(搜索)
最近是怎么了… 稍微带点拐弯的搜索都不会写了…这题很简单呀…略微转换一下思想, 我们定义搜索状态为s1中的a位置和s2中的b位置, 终点是as1.size(), bs2.size(), 对于增加, 删除, 改变, 因为我们一定使得改动之后的s1[a]==s2[b], 所有可以等价理解为对a, b的改动#include <cstdio>#include <iostream&...
2019-01-27 22:43:26 303
原创 牛客 处女座的砝码(高精度+规律)
首先看到10^1000这么大的数肯定是高精度无疑了, 要么套个模板, 要么换Java或者Python然后如果像我这种数学底子不是很好的话, 应该直接来把找到的数列下来, 找一找规律, 可以发现是 ∑0n−1i3\sum_0^{n-1}{i^3}∑0n−1i3#include <algorithm> // max#include <cassert> // ass...
2019-01-27 16:06:30 280
原创 牛客 处女座的期末复习 (贪心)
拿到一看有点类似区间贪心, 其实更加简单, 首先我们对所有的考试按照开始时间升序排列, 我们优先复习最近要考试的科目这里有一个小误区, 开始我也有点迷, 就是去维护了一个时间轴和时间指针, 结果仅仅是bool也导致了内存超限, 后来发现其实没有必要我们在发现一个科目能够复习完之后, 直接在下一个科目的复习时间+2即可, 这一点的思维略微巧妙.#include <cstdio>...
2019-01-27 15:49:14 214
原创 CodeForce1108D. Diverse Garland(贪心+枚举)
题意: 和上题差不多, 一个包含RGB三种颜色的序列, 求改动颜色的最小次数, 使得所有相邻的元素都不相同.这道题贪心+枚举就可以解了, 把所有可能储存的颜色组合以及需要改成的组合存起来, 最后遍历一下就好了, 由于边界问题, 特判一下最后两格, 有个小细节一直让我出错, 记得把所有的可能都写上.#include <cstdio>#include <iostream>...
2019-01-27 15:29:45 368
原创 CodeForce1108C. Nice Garland (暴力+思维)
题意: 给出一个包含RGB三种颜色的序列, 要求改动最少的颜色, 使得所有相同元素之间的距离都是3的倍数思路:仔细思考题意, 我们可以发现, 要想使得满足nice的条件, 只有两种可能元素数量<3, 且互不相等元素数量>=3, 则只能是 {“GRB”,“GBR”,“RGB”,“RBG”,“BGR”,“BRG”}, 种的一种重复出现由此我们可以直接枚举这6种排列方式, 找出...
2019-01-26 11:34:01 625
原创 CodeForece1108B. Divisors of Two Integers (思维水题)
题意: 给出一个包含x和y所有因子的乱序列表(重复因子重复), 找出x和y思路: 首先可以想到最大的因子一定是最大的那个数, 而对于其他的因子我们排除一下即可#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <str...
2019-01-26 10:56:10 545
原创 CF1108A. Two distinct points (水题)
题意: 给出两个区间(可能相交, 重合, 覆盖), 要求找出两个不同的点在两个区间, 特判水题, 直接判读输出即可#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <s...
2019-01-26 10:52:02 541
原创 Ants POJ - 1852 (贪心 弹性碰撞问题)
题意: 在x坐标系上有一些蚂蚁, 每次移动一格, 方向由你来指定, 求出所有蚂蚁(即最后一个蚂蚁)下落的最短和最长时间.这是白书上的一道贪心例题, 遇见这种题不要慌, 先分类讨论一下, 仔细思考每个状态的性质, 无外乎以下三种.1.始终没有碰撞, 直接向最近的一端移动2.发生碰撞, 然后反向移动仔细思考, 不存在多次碰撞(因为速度相同), 而碰撞的话其实对两只蚂蚁的路径长度没有任何影响(...
2019-01-24 12:11:59 593
原创 牛客 小a与"204" (贪心)
我们分类讨论前一个数, a[i-1]=0时, 此时优先4,2,0, a[i-1]=4时, 优先0, 2, 4, a[i-1]=2时, 0|4均可贪心即可处理#include &lt;cstdio&gt;#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;cstring&gt;#include
2019-01-24 11:58:53 241
原创 小a的计算器(牛客)
简单模拟题, 直接逆序处理结果即可#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <stdlib.h>#include <vector>#incl
2019-01-24 11:55:01 354
原创 序列变换 HDU - 5256 (LIS + 数学思维)
题目链接做这道题的基础就是二分+贪心版本的LIS, 还不是很懂的同学请参考https://blog.csdn.net/a1097304791/article/details/82286906再来说这个题, 很显然就像是LIS的题目, 但是情况稍有不同举个栗子来说, 对于1 2 3 4 4 4 5 来说, 最长LIS是4(12345), 但需要修改3个元素, 问题就出在这里, 题面要求只能修...
2019-01-22 13:51:39 434
原创 牛客练习赛38 - A出题人的RP值 (思维水题)
水题, 排序从小到大遍历, 每次只和大于自身的RP平分(要不然还不如不分)#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <stdlib.h>#include ...
2019-01-19 14:17:06 288
原创 1101B Accordion (思维题 详细题解)
说实话拿到这个题一开始很容易想多呀… 一看到括号匹配, 又是个数的, 很容量联想到栈, 搜索, dp之类的, 其实仔细想一下这道题很简单, 因为满足了最优解.只需要找到最左边的[:和最右边的:]即可了, 一个小技巧就是自己可以举一些反证看能否推翻#include <cstdio>#include <iostream>#include <algorithm&g...
2019-01-17 16:58:35 1424
原创 ZZULIOJ 2504: 建国的签到活动二 (BFS | DFS)
小技巧: 50以内的数据量, 又是求最值和所有可能, 一定是搜索没错了. 搜索的话求一个解用Dfs, 求最优解(遍历所有解)用Bfs, 这道题我用了Bfs()这道题目有一个小问题就是只有当确定了连续的天数才知道可获得的积分, 而不是一天对应一个积分, 所以我们在迭代积分时要注意只在最后已经确定连续的天数后再加上对应积分(代码中1, 2处), 遍历求最大值#include &lt;cstdio...
2019-01-14 21:58:55 329
原创 Integer Sequence Dividing CodeForces - 1102A(思维水题)
给大家说一个小技巧, 这种一看题面不是很难, 再一看复杂度1e9的题, 一定是规律题.对于规律题大致有两种思路, 一种是正面杠, 直接通过证明推导出公式来; 第二种就是找规律啦, 毕竟我不是学数学的.这道题目我们先列出几组数据1-8: 1 1 0 0 1 1 0 0… 基本已经发现规律了, 前n项和为奇数(即(x+1)/n)则1, 偶数则0.#include <cstdio>...
2019-01-14 09:58:06 547
原创 ZZULIOJ 2502: 建国与两个数组 (思维题 详细题解)
这个题目是一道非常有意思的题目, 有很多种解法, 在这儿我只讨论一种最容易直观理解的解法考虑一下, 因为求两数和为k的倍数, 我们就可以把每个数都先%k, 分为了k类, 用a,b保存起来, a[i]即为n中%k后为i的数量, b[i]同理这样我们不难发现, 凑k的倍数就简化成了凑k, 那固然只能取i和k-i, 例如k= 7, a[2]=2, 那么只能取b[5], 一共则有a[2]*b[5]种...
2019-01-12 11:21:48 449
原创 codeforce 1101A Minimum Integer(思维水题)
很常见的div2的开场题…开始一看1e9觉得还行, 后来才知道这题无法枚举, 先来复习一下复杂度的知识: 1e6基本安全, 1e7大可一试, 1e8很危险, 1e9必超时(int最多存1e9)枚举不成只能找规律了, 仔细想一想可以发现, 当d<l时, 答案一定是d, 可当d>l时, 应该是(r/d+1)*d, 也就是d在[l,d]区间里的因子+1(如果区间里没有就是1)#incl...
2019-01-12 10:29:01 328
原创 OneNote解决字体不同的问题【完美解决】
先说解决方案, 本人也是重度强迫症患者, 参考了全网的所有解决方案, 下面是最简单的.先把权限改了进入C:\Windows\Fonts\Calibri,双击打开Calibri字体, 右键“Calibri常规-属性-安全-高级”里将所有者从“TrustedInstaller”改为“Users”(直接输入即可),然后在编辑里将Users的完全控制选上;记得每次改了之后就点应用!下载并安...
2019-01-06 20:37:41 18510 12
原创 Sliding Window POJ - 2823 (单调队列)
题目链接这道题是一道非常经典的单调队列题目.单调队列是一种单调递增或单调递减的队列结构, 在C++STL中有priority_queue来实现了, 但较为麻烦只能对队尾进行操作和访问, 同时考虑到可能存在超时的因素, 所以在平常做题中我们一般都会选择自己来实现单调队列. 对于求类似区间最大/最小的问题, 单调队列是最佳选择, 因为它可以在常数复杂度下实现该过程. 即使是对于1.2.3.4.5...
2019-01-02 15:39:52 548
文本分类综述PPT.pptx
2021-11-24
aliyun-java-vod-upload-1.4.11.zip
2021-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人