- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 二分的姿势的选取
解的范围为实数 精度判断 这样做是最基础的方法,但是不是很推荐。会存在浮点误差。 left = 0.0, right = 0x3f3f3f3f; while (dcmp(right - left) != 0){ mid = (right + left) / 2.0; if (judge(mid)) right = mid;
2016-11-27 10:12:18 618
原创 Leetcode中的二分题目
这一次的二分姿势都是学习上一篇文章的。Leetcode 33. Search in Rotated Sorted Array 一个不是标准递增的序列 那么你就要先找到那个分界点。第一想法是,与target比大小得到分界点。但是会出现一些问题,因为有可能target比所有序列数都大(或者都小),就会出现问题。于是只能用序列内的数作为标杆。 第二想法就是,得到了分界点之后,分两段开始二分。这样也行
2016-11-27 11:29:52 493
原创 LeetCode 446. Arithmetic Slices II - Subsequence
一道长得一副dp的样子的dp题。这道题难度不算特别大,因为看得出来肯定是dp题。因为,一个等差序列里面有好几个小的等差序列。 例如,2 4是一个等差序列,2 4 6是一个等差序列。 所以我们发现等差序列是可以扩展的。那么就得到了,咱们的转移方程的一部分 dp[i][delta]=dp[j][delta]+1dp[i][delta] = dp[j][delta] + 1 其中i,j是表示该数在
2016-11-24 15:54:22 1492
原创 Codeforces Round #381 (Div. 1) A. Alyona and mex
这道题我觉得题意看懂了,大问题也就没有了。 一个比较简单的思维题。mex是不在子串中的最小非负数,那么对于一个子串而言,最大的mex就是子串的长度+1。因为子串的长度不一,那么mex就有一个范围,题意就是让你使得mex的最小值最大化,也就是保证最小长度的子串(假设长度为len)能够取到[0, len-1]的数。那么,看到0~len-1就要想到 取模 。需要保证无论我的最短子串取在何处都可以取到0~
2016-11-24 10:37:31 415
原创 Technocup 2017 - Elimination Round 2 D. Sea Battle
算是正式开始康复训练啦这是一题简单的思维题… 第一想法是鸽巢原理,因为“最小数量“,“至少一个“等关键词。 那么,就要先知道鸽巢的总数,也就是可能是船的位置的数量。这个时候就要用贪心做,然后只需要保存每个船整个身位中的一个点就行。 然后用鸽巢原理输出数目和顺序就行。#include <cstdio> #include <cstring> #include <algorithm> u
2016-11-22 10:52:59 532
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人