
C++
文章平均质量分 83
flora715_hss
纸飞机,载着岁月飞散在风里.
所有羁绊都归于平淡,誓言悉数服从命运的安排.
——时间划过风的轨迹,那个少年,还在等你.
展开
-
【浮*光】【Codeforces Round #481 (Div. 3)】 解题报告hhhh ——来自蒟蒻的第一次cf留念
参加的模拟赛,所以不太真实w为了洛谷五月月赛(0519晚上)准备ing【Codeforces Round #481 (Div. 3)】低级比赛...考试规定时间里写了五题(虽然借助了一下电脑的功能qaq)因为是蒟蒻所以要...认真学习A题,题目链接:http://codeforces.com/contest/978/problem/A #include <bits/stdc++.h>...原创 2018-05-19 13:12:07 · 274 阅读 · 0 评论 -
【浮*光】【Codeforces Round #482 (Div. 2)】 解题报告
咳咳因为我们老大觉得太简单了,所以这个只有自己做了qwq两个小时的比赛,除去自己的智障、还有好多没学过的有点无奈==第三题看了dalao的代码qaq,然后第五题实在没时间看...A. Pizza, Pizza, Pizza!!!#include <bits/stdc++.h>using namespace std;/*【平分披萨】正好有n个Shiro的朋友在这里,要把披萨分成n+...原创 2018-05-19 16:44:26 · 240 阅读 · 0 评论 -
【暖*墟】各种OI常见小片段qwq
【二分图的判定】给定一个具有n个顶点的图。要给图上每个顶点染色,并且要使相邻的顶点颜色不同。判断是否能最多用两种颜色进行染色。题目保证没有重边和自环。概念:把相邻顶点染成不同颜色的问题叫做图的着色问题。对图进行染色所需要的最小颜色数称为最小着色度。最小着色度为2的图称作二分图。 分析√:如果只用两种颜色,那么确定一个顶点的颜色之后,和它相邻的顶点的颜色也就确定了。 因此,选择任意一个顶点出发...原创 2018-05-19 17:25:19 · 498 阅读 · 0 评论 -
【浮*光】洛谷0519五月月赛###全面解析###
诶,悲惨世界吼...人生如此悲伤... 我和老大的成绩...受伤ing...https://www.luogu.org/problemnew/show/T29693#include<bits/stdc++.h>using namespace std;/*他们有 n 堆石子,第i堆石子有 ai个,保证初始时 ai≤ai+1(1≤i<n)现在他们轮流对这些石子进行操作,每次操作...原创 2018-05-19 22:59:33 · 541 阅读 · 0 评论 -
【浮*光】【Codeforces Round #479 (Div. 3)】解题报告
一次边吃饭边写的题的神奇故事...A. Wrong Subtraction 传送门:http://codeforces.com/contest/977/problem/A#include <cmath>#include <iostream>#include <cstdio>#include <string>#include <cstr...原创 2018-05-20 13:08:29 · 260 阅读 · 0 评论 -
【浮*光】【Codeforces Round #480 (Div. 2)】解题报告
980A - Links and Pearls#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>#include <string>#include <iostream>#include <map>#includ原创 2018-05-25 14:44:53 · 361 阅读 · 0 评论 -
【暖*墟】关于{ 树 }的专题
one. 二叉树(Binary Tree)二叉树要么为空,要么由根结点(root)、左子树(left subtree)和右子树(right subtree)组成,而左子树和右子树分别是一棵二叉树。注意,在计算机中,树一般是“倒置”的,即根在上,叶子在下。树(tree)和二叉树类似,区别在于每个结点不一定只有两棵子树。书的内容也是树状结构,根结点有12棵子树:第1章、第2章、第3章、……、第12章,...原创 2018-05-25 16:35:14 · 195 阅读 · 0 评论 -
【暖*墟】关于{ 高精度 }的专题
#include <cstdio>#include <cstring>#include <algorithm> using namespace std; const int power = 1; //每次运算的位数为10的power次方,在这里定义为了方便程序实现const int base = 10; //10的pow...转载 2018-05-29 15:38:36 · 264 阅读 · 0 评论 -
【浮*光】【Codeforces Round #484 (Div. 2)】解题报告
A.Row#include <bits/stdc++.h>using namespace std;/*【Row】你有一排椅子。 如果以下两个条件成立,我们称之为“最大”的人员座位:1.两边都没有人。2.不可能再多一个人。座位由一个由0和1组成的字符串给出(0表示相应的座位是空的,1-占用的)。 目标是确定这次排的座位是否“最大”。第一个和最后一个座位不相邻(如果n≠2)。...原创 2018-06-05 16:34:32 · 262 阅读 · 0 评论 -
【浮*光】【Codeforces Round #487 (Div. 2)】解题报告
A. A Blend of Springtime#include <bits/stdc++.h>using namespace std;/*【A. A Blend of Springtime】一排连续的细胞,其中每一个细胞都含有琥珀色或淡黄色或金丝雀黄色的花,或者无色。花枯萎时,它会从原属细胞中消失,并且在两个相邻的细胞中(或者在花园外)散布其颜色的花瓣。如果花瓣落在特定细...原创 2018-06-12 16:50:41 · 212 阅读 · 0 评论 -
【紫*书】第5章 c++与stl入门 #例题#习题
(随手一写qwq 题目没有传送门== )#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<queue>#include<vector>#include&l原创 2018-06-12 17:08:38 · 605 阅读 · 0 评论 -
【紫*书】第6章 数据结构基础 #例题#习题
习题6-1(error)#include <bits/stdc++.h>using namespace std;typedef long long ll;/* 【平衡的括号】(UVa 673) //error的代码输入一个包含“( )”和“[ ]”的括号序列,判断是否合法。具体规则如下:1.空串合法。2.如果A和B都合法,则AB合法。3.如果A合法则(A)和[A]都合法。...原创 2018-06-22 16:38:09 · 315 阅读 · 0 评论 -
【浮*光】【Codeforces Round #490 (Div. 3)】解题报告
来自CF999 &&&http://codeforces.com/contest/999/problem/A#include <bits/stdc++.h>using namespace std;/*【A】从头或尾开始做题,只能完成小于等于k的题,不能完成就无法前进。问最多能做多少题。 */const int maxn = 101;int n,k,...原创 2018-06-22 17:25:18 · 162 阅读 · 0 评论 -
【浮*光】【Codeforces Round #485 (Div. 2)】解题报告
A. Infinity Gauntlet #include <bits/stdc++.h>using namespace std;/* 你偷看了Thanos身穿Infinity手镯。在Gauntlet中有六个异色宝石。使用在Gauntlet中看到的宝石颜色,来确定缺少宝石的名称。 */// 即求6个字符串中没有出现的字符串string str1[6]={"purple"...原创 2018-06-15 17:25:26 · 155 阅读 · 0 评论 -
【暖*墟】#圆的最大覆盖面积# 洛谷P1378 油滴扩展
P1378 油滴扩展跟随某dalao一起做题 马上遇到了我不会的有关圆覆盖的问题qaq其实一直都不会做这类题目&& 所以准备写个专题研究一下先来看看这个p1378#include <bits/stdc++.h>using namespace std;typedef long long ll;/* 【油滴扩散】在一个长方形框子里有N(0≤N≤6...原创 2018-07-09 10:07:09 · 506 阅读 · 0 评论 -
【暖*墟】#全排列# 解答树算法与next_permutation函数
【解答树】假设序列为{1,2,3,4},形成全排列。解答树显示出了递归函数的调用过程。这棵树和前面介绍过的二叉树不同。第0层(根)结点有n个子结点,第1层结点各有n-1个子结点,第2层结点各有n-2个子结点,第3层结点各有n-3个子结点,……,第n层结点都没有子结点(即都是叶子),而每个叶子对应于一个排列,共有n!个叶子。由于这棵树展示的是从“什么都没做”逐步生成完整解的过程,因此将其称为解答树。...原创 2018-07-09 11:28:31 · 863 阅读 · 1 评论 -
【暖*墟】#子集生成# 的方法
给定一个集合,枚举所有可能的子集。为了简单起见,本节讨论的集合中没有重复元素。1 增量构造法第一种思路是{ 递归、一次选出一个元素放到集合中 },程序如下:void print_subset(int n, int* A, int cur) { for(int i = 0; i < cur; i++) printf("%d ", A[i]); //打印当前集合 prin...原创 2018-07-09 11:58:53 · 138 阅读 · 0 评论 -
【暖*墟】#dfs回溯法# 八皇后问题与延伸
无论是排列生成还是子集枚举,前面都给出了两种思路:递归构造和直接枚举。直接枚举法的优点是思路和程序都很简单,缺点在于无法减小枚举量——必须生成所有可能的解,然后检查。另一方面,在递归构造中,生成和检查过程可以有机结合起来,从而减少不必要的枚举。这就是本节的主题——回溯法。回溯法的应用范围很广,只要能把待求解的问题分成不太多的步...原创 2018-07-09 16:38:47 · 195 阅读 · 0 评论 -
【暖*墟】#DFS# 深搜技巧与优化
目录一. DFS的实现【需要注意的地方】二. 剪枝技巧的实现1.可行性剪枝。2.最优性剪枝。3.记忆化搜索。4.搜索顺序剪枝。一. DFS的实现int dfs(int t){ if(满足输出条件) //dfs出口 { 输出解; } else { for(int i=1;i<=尝试方...原创 2018-07-09 17:09:08 · 657 阅读 · 1 评论 -
【浮*光】【Educational Codeforces Round 46】A,B,C,D
嘿嘿嘿这个是1000哦 O(∩_∩)O~~A. Codehorses T-shirts#include <bits/stdc++.h>using namespace std;/*【A】给出n个上一年的衣服码数和n个今年的衣服码数,问最少修改多少次字母把上一年的衣服码数变成今年的衣服码数 */const int m = 123;int siz1[109],siz2[109...原创 2018-07-10 10:37:54 · 244 阅读 · 0 评论 -
【暖*墟】#三分法# 求单峰函数极值
【三分法】1. 对于任意一个上凸函数,选取函数上任意两个点A,B(xA<xB),若满足yA<yB,那么该函数的极值点必然在[xA,+∞)中,若满足yA>yB,那么该函数极值点必然在(-∞,xB]中,若满足yA=yB,那么该函数的极值点必然在[xA,xB]中。2. 对于任意一个下凸函数,选取函数上任意两个点A,B(xA<xB),若满足yA<yB,那么该函数的极值点必然在...原创 2018-07-10 11:45:10 · 1542 阅读 · 0 评论 -
【暖*墟】 #组合# 多重集的排列与组合
【多重集的排列与组合】如果S是一个多重集合,那么S的一个r排列,是S中r个对象的一个有序放置。如果S的对象总数是n(重复对象计数在内),那么S的n排列也称为S的排列。例如,如果S={2·a,1·b,3·c},那么acbc cbcc都是S的4排列,而abccca是S的一个排列。多重集合S没有7排列,因为7>2+1+3=6,即7大于集合S的对象个数。我们首先计算...转载 2018-07-16 16:02:59 · 2046 阅读 · 0 评论 -
【暖*墟】#迭代加深# 埃及分数 + 编辑书稿
【迭代加深搜索】迭代加深搜索经常用于理论上解答树深度上没有上界的问题,这类问题通常要求出满足某些条件时的解即可。比如在“埃及分数”问题中要求将一个分数a/b分解成为若干个形如1/d的加数之和,而且加数越少越好,如果加数个数相同,那么最小的分数越大越好。下面总结一下该方法的一般流程:(1)概述:通过限制每次dfs的最大深度进行的...原创 2018-07-10 15:18:32 · 176 阅读 · 0 评论 -
【暖*墟】#迭代加深# 快速幂运算次数 uva1374
#include <bits/stdc++.h>using namespace std;typedef unsigned long long ll;/*【快速幂计算】(UVa1374)输入正整数n(1≤n≤1000),问最少需要几次乘除法可以 { 从x得到x^n } ?计算过程中x的指数应当总是正整数。 *//*【分析】考虑迭代加深搜索。当前状态是已经得到的指数集合,...原创 2018-07-10 15:58:58 · 184 阅读 · 0 评论 -
【暖*墟】 #并查集# 路径压缩+按秩合并
【并查集】动态维护若干个不重叠的集合一.基本操作二.路径压缩三.按秩合并一.基本操作:1.查询元素属于的集合; 2.两个集合 合并为一。集合的表示方法: [ 代表元 ] 法。选择固定元素表示集合。集合的归属关系的表示方法:1.维护数组f [ x ],存每个元素对应集合的代表。2.fa [ x ] 储存x的父亲节点。合并时,只需要连接两个树根。二.路径压缩:在...原创 2018-07-16 17:22:21 · 401 阅读 · 0 评论 -
【暖*墟】 #差分# 前缀和与差分
【前缀和与差分】 数列的前缀和即:用sum[i]表示a[1]~a[i]的和。用处1:求i~j的和 sum[j]-sum[i-1] 【连续字段和】。用处2:区间修改。设置change数组。当区间[i,j]上要加k时,我们令change[i]+=k,令change[j+1]-=k。如果我们对change数组求前缀和的话,前缀和sum_change[i]就是i这个位置变动的值。...原创 2018-07-17 09:48:20 · 212 阅读 · 0 评论 -
【暖*墟】#对顶堆# 中位数的动态维护 poj3784
【对顶堆:中位数的动态维护】#include <bits/stdc++.h>using namespace std;typedef long long ll;/*【Running Median】poj3784输入n个数,对第k个输入,如果k为奇数,则输出前k个数的中位数。 */// 动态求中位数。运用(对顶堆)即一个大顶堆和一个小顶堆。// 每次输入,如果这个数比当前的...原创 2018-07-11 10:22:03 · 247 阅读 · 0 评论 -
【暖*墟】 #初级数据结构# 树状数组
目录lowbit单点修改查询前缀和练习优缺点拓展:多维树状数组拓展:树状数组与逆序对树状数组重点:维护前缀和;快速单点修改;快速区间求和;不能计算区间最值。易错点:根节点一定要从1开始。因为lowbit(0)=0,会陷入死循环。正整数x被 “ 二进制分解 ”,使区间[1,x]分成 logx 个子区间。(唯一分解性质)小区间特点:若结尾...原创 2018-07-17 14:31:58 · 230 阅读 · 0 评论 -
【暖*墟】#简单倍增# 区间最值的ST算法
【简概】ST 算法在 RMQ(区间最值)中用来求得一个区间的最值,但却不能维护最值。也就是说,过程中不能改变区间中的某个元素的值。(不能修改,快速查询)O(nlogn) 的预处理和 O(1) 的查询对于需要大量询问的场景是非常适用的。比如有如下长度为 10 的数组 :1 3 2 4 9 5 6 7 8 0 我们要查询 [1, 7] 之间的最大值,如果采用朴素的线性查找,复...原创 2018-07-11 12:05:18 · 311 阅读 · 2 评论 -
【浮*光】【Codeforces Round #492 (Div. 2)】A,B,C,D,E
【A. Hit the Lottery】#include <bits/stdc++.h>using namespace std;typedef long long ll;/*【A. Hit the Lottery】有n元钱(!),面值为1,5,10,20,100,求最少的纸币数目。 */int main(){ int n,ans=0; scanf("%d",&am...原创 2018-07-11 16:03:43 · 185 阅读 · 0 评论 -
【暖*墟】 #队列# 单调队列:子段最大值 + 最大子序和
STL 中队列的使用(queue)一.基本操作:push(x) 将x压入队列的末端 //不能push_backpop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值front() 返回第一个元素(队顶元素)back() 返回最后被压入的元素(队尾元素)empty() 当队列为空时,返回truesize() 返回队列的长度头文件:#include &...转载 2018-07-18 10:21:19 · 377 阅读 · 0 评论 -
【暖*墟】 #链表# 邻值查找 + 动态中位数离线做法
目录链表的特征// struct储存建立// 建新链表,初始时将head、tail相连// 在p后插入包含数据val的新节点// 删除元素p// 链表内存回收// 数组模拟链表清空【例题】邻值查找【例题】动态中位数的离线做法 poj3784链表的特征支持在任意位置插入或删除,但只能按顺序访问其中的元素。常用于“倒序处理”,因为链表容易执行“删除”操作...原创 2018-07-18 13:29:26 · 411 阅读 · 0 评论 -
【暖*墟】#折半搜索# n个数中求和不大于k的种数
D1T2 大奖赛 【题目描述】Lancelot市近期要举办大奖赛啦!住在市里的市民都十分兴奋,Morgan也不例外。他查了一下比赛的信息,发现比赛一共由N场,并且每一场的门票价格可能会不相等。Morgan留给比赛的预算是K元;他想知道,一共有多少种买票的方案,使得门票之和不超过K呢? 【输入格式】champion.in第一行两个整数N与K,代表比赛的场数和自己的预算。第二行N个整数Ai,代表每场比...原创 2018-07-12 13:31:57 · 339 阅读 · 0 评论 -
【浮*光】【2017清北学堂集训DAY1】
订餐 dish.c/cpp/pas (1s/256M)【题目描述】这个周末,Joe一如既往的拿出了外卖的点餐单。菜单上从上到下列着N个菜,每个菜Joe会列出一个美味值。Joe这次希望从菜单上连续地点K个菜,并且美味值之和最大。但在计算美味值之和时,Joe有自己的一套计算方法:由于他会按照顺序享受这K个菜,并且越吃越后面的菜他就越享受,所以对于他吃的第i个菜,设它的美味...原创 2018-07-12 15:31:56 · 605 阅读 · 2 评论 -
【暖*墟】#高精度# 进制转换+高精度
【进制转换+高精度 poj 1220】关键步骤》while(start[0]>=i){ //进制转换 y=y*oldBase+start[i]; ans[i++]=y/newBase; y%=newBase;}代码》#include <bits/stdc++.h>using namespace std;typedef long long ll;/...原创 2018-07-12 15:42:30 · 269 阅读 · 0 评论 -
【暖*墟】#中位数# 货仓选址问题+poj1723 Soiders
【初级中位数问题:货仓选址】利用中位数求最值很简单,但是如果想不到就会比较麻烦。所以要熟练掌握思想精髓。具体可以看题目poj 1732 (双重中位数+小技巧)#include <cmath>#include <iostream>#include <cstdio>#include <string>#include <cstring>...原创 2018-07-12 16:28:19 · 546 阅读 · 0 评论 -
【暖*墟】 #邻接表# 带权有向图的存储
邻接表的特征1.树与图结构的一般化储存方式。还能实现开散式Hash。2.可以看成“带有索引数组的多个数据链表”构成的结构集合。3.这样的结构分成若干类,每类可以构成链表。每类的代表元素称为对应链表的“表头”。 插入新的数据节点通过表头数组head,定位到新的数据节点所属类别的链表表头。将新数据在对应得到的表头位置处插入。 带权有向图的存储具体代码实现...原创 2018-07-18 16:03:41 · 3473 阅读 · 1 评论 -
【暖*墟】 # Hash # 哈希散列表 + 相同的雪花
# 哈希表(散列表)# 1、哈希表的特征 是根据关键码值(Key value)而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。这里的对应关系 f 称为散列函数,又称为哈希(Hash函数),散列将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或哈希表。哈希表是把K...原创 2018-07-18 17:23:23 · 402 阅读 · 0 评论 -
【暖*墟】#栈# 算术表达式的求值
【利用栈实现算术表达式的求值】 //https://blog.youkuaiyun.com/YanHS_/article/details/78702294[问题描述]利用栈实现算术表达式的求值。可以简单一些,假设表达式中含有一位正整数,以及+、-、*、/、(、)。(难易程度:中)[实验内容及要求]1、表达式以字符串形式输入,并以‘#’开始和结束。(‘#’也作为算法来处理)。如输入:#6+3*(9-7)-8/2...转载 2018-07-13 08:56:04 · 610 阅读 · 0 评论 -
【暖*墟】 #单调栈# 最大矩形面积 poj 2559
栈的特征与运用push(): 向栈内压入一个成员; pop(): 从栈顶弹出一个成员; empty(): 如果栈为空返回true,否则返回false; top(): 返回栈顶,但不删除成员; size(): 返回栈内元素的个数;#include<iostream>#include<stack>using namespace std;int main(...转载 2018-07-13 09:29:35 · 243 阅读 · 0 评论