![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
—————基础—————
zjyang12345
Keep calm&carry on
展开
-
poj2456- Aggressive crows poj3258 - River Hopscotch 二分+贪心--最大化最小值+整数防死循环
poj 2456Aggressive crows此题核心在于二分搜索牛之间的距离,然后贪心地放牛作为判断是否满足条件的依据。贪心:在满足两牛之间距离不小于d的情况下,如何尽可能多放牛?(关键,剔除了很多情况)贪心之前往往要排序。二分:二分搜索找出d,方便判断。①注意整数二分的写法,有些写法有可能会陷入死循环②关于最大化最小值和最小化最大值问题,到底取left还是right...原创 2018-05-08 21:13:32 · 231 阅读 · 0 评论 -
天梯赛复习--输入输出
天梯赛字符处理很多,比如时间,整数与字符互转(+-'0')格式控制以及输入1e5以上,用scanf和printf、putchar无空格,连续字符串用cin省事inline int read(){ int x = 0; char c = getchar(); bool flag = 0; while(c < '0' || c > '9...原创 2019-03-23 15:54:31 · 182 阅读 · 0 评论 -
优先队列Dijkstra最短路模板---校赛D KJZ的有向图
最简单写法Floyd还有最短路算法的介绍见之前的博客:点这里优先队列做最短路比SPFA更稳定,主要是松弛操作的优化找最小值的(即出队解决) 更新最小值(即入队解决) 两个for循环O(n),松弛操作优化成O(logn) 邻接表优化,变成O(Elogn)配对堆进一步优化(转自大佬)部分套用大师兄的代码风格#include<bits/stdc++.h>...原创 2019-03-27 18:02:30 · 174 阅读 · 0 评论 -
Codeforces #555 (Div. 3)--C2 Increasing Subsequence (hard version)--投石问路+deque/双指针
题目链接You are given a sequenceaaconsisting ofnnintegers.You are making a sequence of moves. During each move you must take either the leftmost element of the sequence or the rightmost element of...原创 2019-04-27 17:55:31 · 281 阅读 · 0 评论 -
Codeforces #560 (Div. 3)--D E 假设思想/区间重叠贡献次数
A注意下标 B排序扫一遍C 贪心,以为是O(N^2)其实O(N) DAlmost All Divisors题意:输入一堆数,看是否能找到一个数的所有因子(不包括1和它本身)包含所有输入的数思路:分解因子,但要分解那个数呢?有个小思想注意下。假设思想:假设输入的就是某个数的所有因子,则这个数取最小的话,一定 等于最小因子*最大因子(易得)再将这个数分解因子...原创 2019-05-17 20:55:55 · 189 阅读 · 0 评论 -
STL常用数据结构应用
各种使用函数还有algorithm可以看别的博客学习,这里重点讲应用。1.vector[]遍历,emplace_back,size,clear sort(v.begin(),v.end()); == end()-1,begin()应用:特别是要开二维数组,要节省空间的时候而且长度不定的时候特别好用,图中的邻接表就是很好的例子。邻接表中一维数组存储顶点,一维vector存储该...原创 2018-06-10 16:33:24 · 672 阅读 · 1 评论 -
个人赛 FGH 补题(二分+取模+set)
DIJ大水题略过,C另外开一篇G 潘神的魔鬼训练(二分)暴力n^3肯定TLE,由三角形给出两边长度a,b,第三边长度限制为/a-b/~a+b,二分查找即可记得排序。。#include <bits/stdc++.h>using namespace std;int a[1005],b[1005],c[1005];int main(){ int N,M,L; ...原创 2019-05-25 16:50:08 · 187 阅读 · 0 评论 -
LOJ504 ZQC的手办--线段树最值及位置+优先队列
#include <bits/stdc++.h>using namespace std;#define inf 1000000007typedef pair<int,int>pii;const int maxn = 500000+10;int n,m;int w[maxn];vector<int>ans;inline int read(...原创 2019-05-31 17:24:15 · 247 阅读 · 0 评论 -
2019沈阳网络赛H-Texas hold'em Poker(大模拟)
题目链接-H存每种牌的出现次数,然后从大到小找,用多个ans数组存大小。虽然代码长但是很稳。WA点:①10不能算两个字符,应该拆开考虑②相同时候,多开个数组记录。#include<bits/stdc++.h>using namespace std;int a[100010][14];int sum[100010];string name[10001...原创 2019-09-14 17:11:55 · 972 阅读 · 0 评论 -
Codeforces Round #587 (Div. 3)C--White Sheet(矩形交,三种解法)
http://codeforces.com/contest/1216/problem/C题意:白色矩形是否被黑色矩形完全覆盖,是输出NO解法:如果只说对角线没说明是哪条对角线: if(a1.x1>a1.x2)swap(a1.x1,a1.x2); if(a1.y1>a1.y2)swap(a1.y1,a1.y2);if(a2.x1>a2.x2)swap...原创 2019-09-22 08:48:55 · 222 阅读 · 0 评论 -
自然语言处理--MM、RMM算法及Python 复习
注意文本的格式,建议UTF-8防止出现不可见字符导致无法匹配class CSegment: def __init__(self, MaxLen, seg): self.MaxLen = MaxLen # 初始化MaxLen self.seg = seg # 初始化分隔符 # 初始化词典(数据类型为dict) se...原创 2019-09-30 11:57:06 · 998 阅读 · 0 评论 -
子集和问题、装载问题--DFS回溯法之判断能否到达+输出路径
①输出最优值:简单,用个best比较更新,最后一步函数return;即可②判断是否到达:由于要return true/false,但只能返回的是最后一个函数的真假,而我们需要的是第一个函数返回值的真假,需要加几句判断来return③输出路径:vis数组,容易#include<bits/stdc++.h>using namespace std;int ...原创 2018-12-11 23:00:37 · 331 阅读 · 0 评论 -
由尺取法到滑动窗口最小值(单调队列) poj2823入门
待更原创 2018-07-30 20:24:34 · 306 阅读 · 0 评论 -
poj 3273二分最小化最大值+贪心算组数,判断细节!
贪心判断和之前最大化最小值的题目思路类似,只不过需要小心分组数;二分(注意这是最大值最小化而不是最小值最大化)1.注意判断函数最后return的条件和主函数二分的通用写法!不然莫名WA很难受。2.注意先算出上下界#include <iostream>#include<stdio.h>#include<algorithm>using nam...原创 2018-05-10 19:12:03 · 230 阅读 · 0 评论 -
uva 714-Copying Books 二分最小化最大值+双贪心!+输出路径
此题只比poj 3273多了个输出路径,Judge函数里面更巧妙:①最小化最大值区间是(l,r],最大化最小值区间是[l,r),判断条件一个upper_bound,一个是lower_bound,细细体会。②第一次for贪心+二分,找出合适的最大区间和,然后for反着找,划分区间(贪心,可以让前面区间和尽量小),最后如果有剩余未划线的,顺着一个一个划线。(贪心,单独一个数成一个区间和最小)...原创 2018-05-11 19:38:20 · 207 阅读 · 0 评论 -
%大赛D--链式前向星+SPFA(BFS)+各种数据类型+各种最短路复习
单源最短路模板题,这里尝试用SPFA,但有几点细节:①不能用邻接矩阵,开不下1e5*1e5的二维数组;邻接表vector<p>G[maxn]或链式前向星②注意用longlong,而且INF定义为LONG_LONG_MAX(不要手打整数,因为默认为int,也可强制类型转换(1e16))复习:long double,unsigned long long...log1e...原创 2018-05-25 00:19:50 · 243 阅读 · 0 评论 -
pta 数据结构--拯救007 图+dfs
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0...原创 2018-05-21 12:33:18 · 1326 阅读 · 0 评论 -
poj 1064二分+精度(重要的是细节问题!)1064
以前大体了解二分的思想,只知道大大简化时间复杂度,但没有真正手敲,于是发现很多细节问题:①二分大体是确定要查找的对象!(一般是长度等有序数据!但在某些问题用个数,这时通常与前缀和结合)→将被查找数据写入数组(要排序!二分查找的对象核心是单调!单调!单调!或者说有序)→初始化左右端点(确定上下界)→限定查找范围(while的条件)→if-else(查找满足的条件)(一般另写一个函数){...原创 2018-05-08 17:42:52 · 427 阅读 · 0 评论 -
poj3061 Subsequence 复习二分搜索+前缀和最小→尺取法
前缀和+二分搜索有时很好的解决区间问题,这时比线段树主席树快二分搜索:前些天,把二分搜索某些细节想复杂了。①其实二分只要固定个人写法就没问题(整数题目一般取左端点left或右端点,输样例进去测试一下显而易见,与题目取最大值还是最小值无关)②判断条件的大于小于等于号也没有那么复杂,特判一下等号和题目让你最大化还是最小化而已。③难在判断条件函数绕了个弯,要自己建立另一个变量,使这个...原创 2018-05-15 21:13:30 · 295 阅读 · 0 评论 -
离散化模板
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn=10000000;int a[maxn];int b[maxn];int n;int main(){ int m=0; cin>>...转载 2018-05-22 16:13:32 · 1119 阅读 · 0 评论 -
二分+相乘防溢出:2018字节跳动杯CCPC-B-缺失的数据范围
著名出题人小Q出过非常多的题目,在这个漫长的过程中他发现,确定题目的数据范围是非常痛苦的一件事。每当思考完一道题目的时间效率,小Q就需要结合时限以及评测机配置来设置合理的数据范围。因为确定数据范围是一件痛苦的事,小Q出了非常多的题目之后,都没有它们设置数据范围。对于一道题目,小Q会告诉你他的算法的时间复杂度为O(n^a*(log2(n))^b),且蕴含在这个大OO记号下的常数为1。同时...原创 2018-05-29 21:42:43 · 360 阅读 · 3 评论 -
数据结构-pta-最短路径(Dijkstra)+输出路径
①这道题与边无关,不适用邻接表,甚至只需一维数组不用邻接矩阵②多源最短路的Dijkstra写法,多了一些辅助变量判断,为保证第一跳最近,排序→贪心③Dijkstra结构→while→初始化→for找最小值→for更新邻接、vis在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— ...原创 2018-06-07 00:16:33 · 3156 阅读 · 0 评论 -
pta-HASH--QQ账号与密码注册和登录
输入格式:输入首先给出一个正整数N(≤),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。密码为不小于6位、不超过16位、且不包含空格的字...原创 2018-06-18 14:58:57 · 4240 阅读 · 0 评论 -
HDU6319--Ascending Rating(单调队列复习)
忘了单调队列,顺便存下模板注意算count的是,各自窗口内最大值更新次数(开始读错题),而且这里应该维护反向递减序列,而正向是不行的比如3 1 2 4,答案应该是2,而维护正向递增单调队列会得出3,因为第一个较大元素可能会丢失。单调队列核心:无脑入队,次优值/出窗口范围出队,保持单调性。用到最长上升子序列的O(nlogn)贪心的思想:(之前博客提过,链接)对于一个...原创 2019-10-11 14:42:47 · 174 阅读 · 0 评论