基础算法
Flying Whale
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ2823-Sliding Window
待完成//Gold bless me.#pragma GCC optimize(3) //#include <bits/stdc++.h>#include <vector>#include <list>#include <map>#include <set>#include <deque>#include ...原创 2019-08-08 01:08:40 · 116 阅读 · 0 评论 -
Codeforces Round #579 (Div. 3)--F1. Complete the Projects (easy version)(贪心,排序)
题目链接题意:给定n个任务和一个初始评级r,对于每个任务都有一个评级要求,当且仅当达到评级要求及以上时才能去做任务,做完一个任务评级都会发生相应改变,增加或减少。问是否存在一种做任务的顺序,使得完成每一个任务之后评级都是非负数,当完成最后一个任务时评级也是非负数。题目条件:1<=n<=100,1<=r<=30000,1<=ai<=30000(评级要求),...原创 2019-08-18 09:15:59 · 241 阅读 · 0 评论 -
Codeforces Round #579 (Div. 3)--Boxers(贪心,排序)
题目链接题意:给定n个质量为ai的盒子,每个盒子质量都可以改变不超过1的单位质量,求能够选出的互不相同的质量的盒子的最大数目。题目条件:1<=n<=150000,1<=ai<=150000。分析:贪心策略就是:选择尽可能大的质量的盒子,(情况一)让它质量加一(如果可以),这样选择后面的物品的时候,较其他选法,后面的盒子可选区间范围变大,能够选择的盒子也就越多(根...原创 2019-08-18 00:06:21 · 160 阅读 · 0 评论 -
Codeforces Round #579 (Div. 3)--Remove the Substring(贪心)
题目链接题意:给定两个字符串s和t,保证t是s的子序列(子序列和子串不同),问最多可以删除s中多少个连续字符,使得t仍是s的子序列。题目条件:D1:1<=t.size()<=s.size()<=200。D2:1<=t.size()<=s.size()<=200000。分析:虚拟补题的时候以为题目说的是子串,然后就直接wa了,之后仔细看才发现是指的子...原创 2019-08-17 00:21:24 · 160 阅读 · 0 评论 -
康拓展开,逆展开(全排列求第n个)
定义:实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。解决问题:举例由12345–>34251,问34251是全排列的第几个?(按字典序小的开始全排列)计算方法:首先我们可以发现由12345–>25431是比较好计算全排列数的,也就可以看成是算由12345–>15432(需要4!次),由21345–>25431(也需要4!次),所以12345–>...原创 2019-08-25 01:03:03 · 637 阅读 · 0 评论 -
洛谷P1182 --数列分段 Section II(二分答案)最大值问题最小化
题目链接题意:从n个数中选出连续的m个区间,对于每种选择方案都有一个最大的区间和,求在所有可行方案中最大区间和最小为多少。分析:做的时候,最后写代码的时候卡了好久。最后意识到之前的对二分答案的理解有些差错,//Gold bless me.#pragma GCC optimize(3) //#include <bits/stdc++.h>#include <vec...原创 2019-08-10 09:07:39 · 395 阅读 · 0 评论 -
洛谷P1316 --丢瓶盖(二分答案+贪心)最小值最大化问题
题目链接题意:一条直线上有a个瓶盖,要选取b个瓶盖,使得选取的瓶盖中最近距离的两个瓶盖距离在所有可行方案中最大。题目条件:(b<=a<=100000)分析:一开始没看清题意,以为是要找到某个方案中,所有相邻瓶盖距离都最大,然后求这些距离中的最大距离,然后就各种想不通,最后才发现是读了个假题意。。。正确理解就是求所有可行方案中,各个方案的最小距离的最大值,那么就是最小值最大化...原创 2019-08-09 12:33:45 · 557 阅读 · 0 评论 -
POJ3579-Median(入门二分答案)
题目链接题意:给定n个数字,任意两个数字都有|Xi-Xj|(差值的绝对值),这样共有C(n,2)个差值,对这些差值进行排序,要求找出这些差值的中位数,设差值个数为m,对每个差值从1~m编号,若m为偶数,则中位数编号应为m/2,反之应为(m+1)/2。条件:Xi ≤ 1,000,000,000 3 ≤ N ≤ 1,00,000分析:因为根据题目条件复杂度至多为O(nlogn),然后刚开始...原创 2019-08-07 03:44:12 · 410 阅读 · 0 评论 -
POJ2785-4 Values whose Sum is 0(二分基础)
题目链接题意:给定四个长度均为n的数字序列,从这四个序列中各任选一个数字,设分别为a,b,c,d,求a+b+c+d=0有多少种可能的方案。(各个序列间数字的选择是相互独立的)题目条件:n<=4000,|Xi|<=2^28。(Xi表示选择的数字)分析:因为之前在挑战程序设计竞赛书上看过原题,但是解答当时并未全部理解,这次碰到了就好好分析一下。首先看完题目,想到暴力遍历四层的f...原创 2019-08-09 01:32:46 · 163 阅读 · 0 评论 -
查询之前是否查询过某个数
先前cf做题时,碰到了一些困惑,就此记下。首先数组里面查询某个数的复杂度已经确定,一种是无序时,O(n)遍历查找,一种是有序是二分O(logn)查找。那么如果要查询之前是否查询过该数,有那些方法呢?方法一:待查询数组a,新建一个数组b存储之前查询过的数字。然后在b数组里面查找,如果需要立即输出结果,则O(n)去遍历,不然可以排好序,再二分查找。方法二:待查询数组a,新建一个map对象...原创 2019-08-27 16:03:57 · 207 阅读 · 0 评论
分享