![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_C++ STL
文章平均质量分 64
深海沧澜夜未央
这个作者很懒,什么都没留下…
展开
-
lower_bound
格式:lower_bound(str,str+n,x)-str.#include #include //必须包含的头文件 using namespace std;int main(){ int point[10] = {1,3,7,7,9}; int tmp = upper_bound(point, point + 5, 7) - point;//按从小到大,7最多能插入数组poi原创 2017-02-08 13:38:36 · 559 阅读 · 0 评论 -
HDU 4287 Intelligent IME (map)
We all use cell phone today. And we must be familiar with the intelligent English input method on the cell phone. To be specific, the number buttons may correspond to some English letters respectively原创 2017-05-06 20:37:30 · 263 阅读 · 0 评论 -
priority_queue 详细介绍
1、头文件#include2、定义[cpp] view plain copy priority_queueint> p; 3.基础操作priority_queue函数列表 priority_queue c 创建一个空的queue c.top() 返回队列头部数据c.pu转载 2017-05-11 22:15:01 · 322 阅读 · 0 评论 -
HDU - 1509 Windows Message Queue (优先队列 重载运算符)
Message queue is the basic fundamental of windows system. For each process, the system maintains a message queue. If something happens to this process, such as mouse click, text change, the system wil原创 2017-12-28 09:13:55 · 236 阅读 · 0 评论 -
HDU - 4006 The kth great number (优先队列 小根堆)
Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao what the kth great number is. Because the number written by Xiao Ming原创 2017-12-28 09:37:58 · 289 阅读 · 0 评论 -
map的详细用法
[cpp] view plain copymap的详细用法: map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种转载 2017-05-06 19:57:23 · 276 阅读 · 0 评论 -
set与multiset
一、set和multiset基础set和multiset会根据特定的排序准则,自动将元素进行排序。不同的是后者允许元素重复而前者不允许。需要包含头文件:#include 二、set和multiset的功能自动排序的优点是使得搜寻元素时具有良好的性能,具有对数时间复杂度。但是造成的一个缺点就是:不能直接改变元素值。因为这样会打乱原有的顺序。改变元素值的方法是:先删除旧元素,再插原创 2017-05-15 18:37:41 · 423 阅读 · 0 评论 -
HDU - 4022 Bombing (multiset)
It’s a cruel war which killed millions of people and ruined series of cities. In order to stop it, let’s bomb the opponent’s base. It seems not to be a hard work in circumstances of street battles,原创 2017-12-28 16:08:39 · 209 阅读 · 0 评论 -
POJ3250 牛的视野(单调栈)
题意:一群高度不完全相同的牛从左到右站成一排,每头牛只能看见它右边的比它矮的牛的发型,若遇到一头高度大于或等于它的牛,则无法继续看到这头牛和后面的其他牛的发型。给出这些牛的高度,要求每头牛可以看到的牛的数量的和。思路:计算每头牛可以看到牛的头数,可以等效于每头牛可以被看到的次数从左到右依次读取当前牛的高度,从栈顶开始把高度小于或等于当前牛的高度的那些元素删除,此时栈中剩下的元素的数原创 2017-12-29 16:06:16 · 1158 阅读 · 0 评论 -
合并果子 (优先队列小根堆)
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1n−1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体原创 2017-12-29 16:41:21 · 858 阅读 · 0 评论 -
AtCoder AtCoder Beginner Contest 076 C: Dubious Document 2(set与字典序)
Problem StatementE869120 found a chest which is likely to contain treasure.However, the chest is locked. In order to open it, he needs to enter a string S consisting of lowercase English letters原创 2017-11-02 08:06:03 · 767 阅读 · 0 评论 -
fill 与memset 给整个数组赋值
1.fill()函数包含在头文件中。原型为 template void fill(ForwardIterator first, ForwardIterator last, const T& value); 其中first与last分别代表迭代器的起始与终止,而value即为要赋的值因此可以通过其对数组元素进行统一赋值操作,而省去了for循环的麻烦,注意赋值区间原创 2018-02-02 11:05:42 · 1042 阅读 · 0 评论 -
next_permutation(全排列算法)
STL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation。首先我们必须了解什么是“下一个”排列组合,什么是“前一个”排列组合。考虑三个字符所组成的序列{a,b,c}。 这个序列有六个可能的排列组合:abc,acb,bac,bca,cab,cba。这些排列组合根据less-than操作符做字典顺序(lexicograp原创 2018-01-20 21:11:13 · 386 阅读 · 1 评论 -
EOJ Monthly 2017.12 易位构词(贪心+STL特性容器 +头文件<bits/stdc++.h> )未解决
易位构词 (anagram),指将一个单词中的字母重新排列,原单词中的每个字母都出现有且仅有一次。例如 "unce" 可以被易位构词成 "ecnu"。在某些情况下,要求重排而成的依然是一个单词,但本题没有这种要求,因为我们根本没有词典。我们所感兴趣的是,有些单词中的字母进行适当的重排后,可以使得构成的单词每个对应的位置上字母都不一样。例如 "unce" 和 "ecnu",就有 "u" ≠ "e",原创 2017-12-09 20:35:58 · 392 阅读 · 0 评论 -
AtCoder Grand Contest 020 C - Median Sum (背包问题+bitset )
Time limit : 2sec / Memory limit : 512MBScore : 700 pointsProblem StatementYou are given N integers A1, A2, ..., AN.Consider the sums of all non-empty subsequences of A. There are原创 2018-01-19 20:05:18 · 510 阅读 · 0 评论 -
第十六届北京师范大学程序设计竞赛决赛 F 汤圆防漏理论 (连接关系+STL)
ghc很喜欢吃汤圆,但是汤圆很容易被粘(zhān)漏。根据多年吃汤圆经验,ghc总结出了一套汤圆防漏理论:互相接触的汤圆容易粘(zhān)在一起,并且接触面积不同,粘(zhān)在一起的粘(nián)度也不同。当ghc要夹起一个汤圆时,这个汤圆和现在碗里与这个汤圆接触的所有汤圆之间的粘(nián)度的和,如果大于汤圆的硬度,这个汤圆就会被粘(zhān)漏。今天ghc又要煮汤圆啦,今天要煮个汤圆,并...原创 2018-04-09 16:12:00 · 279 阅读 · 0 评论 -
第18届浙江大学校赛 C Mergeable Stack (STL list与多栈模拟合并)
Given initially empty stacks, there are three types of operations:1 s v: Push the value onto the top of the -th stack.2 s: Pop the topmost value out of the -th stack, and print that value. If the -t...原创 2018-04-10 08:35:08 · 708 阅读 · 0 评论 -
POJ 3784 Running Median 动态求中位数 优先队列 小根堆+大根堆
题意:输入M个数,当已输入的个数为奇数个时输出此时的中位数。一共有M/2+1个中位数要输出,每一行10个。思路:当数字是奇数的时候才输出中位数,所以是数组的一半我们可以用小跟堆+大根堆来进行维护,设当前序列长度为M,我们始终保持1--M/2的数字存储在大根堆中(从大到小),M/2+1--M的数字存储在小根堆中,当某一个堆中的元素过多的时候,取出该堆的堆顶入另外一个堆。所以,中位数为小根堆的...原创 2018-07-24 18:10:31 · 613 阅读 · 0 评论 -
HDU 2648 Shopping (map与迭代器)
very girl likes shopping,so does dandelion.Now she finds the shop is increasing the price every day because the Spring Festival is coming .She is fond of a shop which is called "memory". Now she wants原创 2017-05-06 20:29:42 · 432 阅读 · 0 评论 -
HDU 2072 单词数(set)
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。Input有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。Output每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。Sample Inpu原创 2017-05-06 11:28:48 · 542 阅读 · 0 评论 -
getline()详解
本文转自:http://blog.sina.com.cn/s/blog_60263c1c0101ck25.html 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下:int main(){ string line:转载 2017-05-06 09:05:57 · 35766 阅读 · 4 评论 -
C++ map的基本操作和使用
来源:(http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html) - C++ map的基本操作和使用_Live_新浪博客 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring;转载 2017-05-06 19:56:22 · 269 阅读 · 0 评论 -
Vampire Numbers 数字的合理分解
数字1827是一个有趣的数字,因为1827 = 21 * 87,所有相同的数字出现在'='的两边。编号136948具有相同的属性:136948 = 146 * 938。这样的数字叫做吸血鬼号码。更准确地说,数字v是一个吸血鬼号码,如果它有一对因子a和b,其中a * b = v,并且a和b的数字完全相同,数字与v完全相同。数字v,a或b都不能有前导零。数学定义说v应该有数位数字,而a和b应该具有原创 2017-05-16 19:03:13 · 1420 阅读 · 0 评论 -
约瑟夫环
题目描述n个人排成一圈,按顺时针方向依次编号1,2,3…n。从编号为1的人开始顺时针"一二三...."报数,报到m的人退出圈子。这样不断循环下去,圈子里的人将不断减少。最终一定会剩下一个人。试问最后剩下的人的编号。本题的数据规模更具有挑战性,尝试更通用且高效的算法。输入 超过1000组数据。 每组数据一行,每行两个正整数,代表人数n (1 31)和m原创 2017-06-12 17:57:18 · 1578 阅读 · 2 评论 -
ios::sync_with_stdio(false) 改变C++流输入输出的速度
ios::sync_with_stdio(false) 使流的输入输出速度与C的输入输出持平iostream默认是与stdio关联在一起的,以使两者同步,因此消耗了iostream不少性能,设置为false后,不再同步了,iostream的性能提高了很多倍。而cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入输出缓原创 2017-08-04 11:29:54 · 678 阅读 · 2 评论 -
HNUST 1416 筛排处理 (set+迭代器)
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N输入每组输入数据的第一行含有一个正整数N,表示后面行中有N个随机整数。若N=0,表示处理结束。输出对应每组输入数据,输出一组数据,该数据由单独一行开头,内含一个N,表示后面有N个排好序的整数,整数之间空一格。每组输出数据之间空一行。原创 2017-08-25 14:22:30 · 515 阅读 · 1 评论 -
HDU 4407 Sum (容斥原理)
Problem DescriptionXXX is puzzled with the question below: 1, 2, 3, ..., n (1Operation 1: among the x-th number to the y-th number (inclusive), get the sum of the numbers which are co-prime with原创 2017-08-04 10:03:30 · 376 阅读 · 0 评论 -
整数连接 HNUST 1544(贪心 字典序排列变形 string +sort )
题目描述设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如,3个整数32,3,21连接成的最小整数为:21323。既然这是第一个题,那就要简单一点,不然很多参赛选手会很伤心的,因此,我特地将这个题目简化了一下,限定n个正整数的取值为1至99之间的正整数。输入先输入正整数个数n的值(1然后输入n个正整数(取值范围为1~99)。输出输出n个正整数连接而成的最小整原创 2017-12-09 20:43:03 · 182 阅读 · 0 评论 -
讨论C 与 C++中结构体的不同 HNUST 1835
C结构体、C++结构体基本相同,C++类主要是方法的实现。结构体是数据类型的集合类是数据类型加方法的集合,基本如此,更注重方法。1.C的结构体和C++结构体的区别(1) C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。(2)C的结构体对内部成员变量的访问权限只能是public,而C++允原创 2017-12-09 17:13:27 · 226 阅读 · 0 评论 -
POJ - 2559 Largest Rectangle in a Histogram (单调栈与区间问题)
A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure on the left shows原创 2018-01-01 15:27:23 · 886 阅读 · 0 评论 -
POJ 2796 Feel Good (单调栈 区间最大值)
Bill is developing a new mathematical theory for human emotions. His recent investigations are dedicated to studying how good or bad days influent people's memories about some period of life. A原创 2018-01-02 09:21:02 · 1032 阅读 · 0 评论 -
湘潭市赛 Josephus Problem 线段树
Do you know the famous Josephus Problem? There are n people standing in a circle waiting to be executed. The counting out begins at the first people in the circle and proceeds around the circle in the原创 2017-06-14 08:37:29 · 822 阅读 · 3 评论 -
面向对象 C++学习之我之过错
////标注的那行为关键行,是易错的地方1.类内的函数声明:注意这里是和C语言函数声明不一样的,不需要把形参名声明,只用形参类型,但在定义的时候就需要把形参名声明。#include #include using namespace std;double sum;class Location{ public : Location(double ,double原创 2017-10-17 21:02:48 · 352 阅读 · 0 评论 -
HDU - 3293B - sort与HDU - 1263 水果 pair的使用
s is known to all, long long ago sailormoon once was an association of fighters. Till now, sailormoon is also an association of girls. Owe to some unknown reasons, girls are necessary to fight for pea原创 2017-05-06 11:26:56 · 452 阅读 · 0 评论 -
HNUST 1395日期排序 sort函数 快速排序
1395: 日期排序时间限制: 1 Sec 内存限制: 128 MB提交: 157 解决: 104[提交][状态][讨论版]题目描述有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。输入输出样例输入15/12/199910/21/200310/22/200302/12/200411/30/200512/31/2原创 2017-03-02 11:04:34 · 1358 阅读 · 3 评论 -
HNUST 1448 有理数的个数 (sort的使用)
题目描述任何一个有理数都可以表示成M/N的形式(M,N均为正整数)。例如1/2,2/4,3/6都是等值的有理数。给定若干有理数,等值有理数的值只能算一个,问这些有理数含有多少个值,并按从小到大输出各值及该值的有理数个数。输入第一行是整数n,表示随后有n组测试数据(n不超过10)。每一组测试数据的第一行是一个整数m(m输出对于每一组测试数据,输出要求如原创 2017-04-29 16:16:01 · 393 阅读 · 0 评论 -
HDU 6301 Distinct Values 思维模拟+优先队列
Problem DescriptionChiaki has an array of n positive integers. You are told some facts about the array: for every two elements ai and aj in the subarray al..r (l≤i<j≤r), ai≠aj holds.Chiaki would...原创 2018-07-26 19:30:10 · 195 阅读 · 0 评论