
骚操作算法
Stephencurry‘s csdn
这个作者很懒,什么都没留下…
展开
-
H - H (CodeForces-612D)(排序+区间计数)
You are givennsegments on the coordinate axisOxand the numberk. The point issatisfiedif it belongs to at leastksegments. Find the smallest (by the number of segments) set of segments on the c...原创 2020-04-25 11:55:04 · 195 阅读 · 0 评论 -
G - G (51Nod-1632)(期望)
B国拥有n个城市,其交通系统呈树状结构,即任意两个城市存在且仅存在一条交通线将其连接。A国是B国的敌国企图秘密发射导弹打击B国的交通线,现假设每条交通线都有50%的概率被炸毁,B国希望知道在被炸毁之后,剩下联通块的个数的期望是多少?Input一个数n(2<=n<=100000) 接下来n-1行,每行两个数x,y表示一条交通线。(1<=x,y<=n) 数据保证其交通系...原创 2020-04-25 10:49:47 · 220 阅读 · 0 评论 -
Smith Numbers (POJ-1142)(素数判定+整数分解)
While skimming his phone directory in 1982, Albert Wilansky, a mathematician of Lehigh University,noticed that the telephone number of his brother-in-law H. Smith had the following peculiar property: ...原创 2020-04-20 18:12:54 · 289 阅读 · 0 评论 -
最长上升子序列nlogn算法
转自大神博客:https://www.cnblogs.com/mengxm-lincf/archive/2011/07/12/2104745.html在川大oj上遇到一道题无法用n^2过于是,各种纠结,最后习得nlogn的算法最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS。排序+LCS算法 以及 DP算法就忽略了,这两个太容易理解了。...转载 2020-01-09 15:41:39 · 231 阅读 · 0 评论 -
数据离散化
数据离散化转载自黎大佬的文章:传送门一、概述数据离散化是一个非常重要的思想。为什么要离散化?当以权值为下标的时候,有时候值太大,存不下。 所以把要离散化的每一个数组里面的数映射到另一个值小一点的数组里面去。打个比方,某个题目告诉你有10^4个数,每个数大小不超过10^10,要你对这些数进行操作,那么肯定不能直接开10^10大小的数组,但是10^4的范围就完全没问题。我们来看一...转载 2019-03-02 16:56:20 · 1420 阅读 · 0 评论 -
组合数(字典序排列)
找出从自然数1、2、… 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入描述:输入n、r。输出描述:按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入:5 3样例输出:543542541532531521432431421321代码#include <stdio.h&...原创 2018-12-05 20:14:55 · 1723 阅读 · 0 评论 -
C语言前缀和
前缀和后缀是什么呢? 举个例子: +34 3+4 34+前缀 中缀 后缀也称为: 波兰式 逆波兰式--------------------- 那就以 X=A+B*(C-D)/E 为例: 先转换成前缀表达式第一步:先加括号:(X=(A + ( ( ...转载 2018-11-28 21:33:37 · 5552 阅读 · 0 评论 -
冒泡排序
冒泡排序(当时也是做了半天。。wa了几次)#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include #include &lt;math.h&gt;int n[105];int main(){int a;while(~scanf("%d",&amp;a))//多组输入原创 2018-11-28 20:42:53 · 126 阅读 · 0 评论 -
c语言用函数求最大公约数和最小公倍数
c语言用函数求最大公倍数和最小公约数#include&lt;stdio.h&gt;#include&lt;math.h&gt;#include&lt;string.h&gt;#includeusing namespace std;int main(){int a,b;scanf("%d%d",&amp;a,&a原创 2018-11-28 20:10:15 · 8785 阅读 · 0 评论 -
Japan(POJ-3067)
Japan(POJ-3067)Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. Japan is tall island with N cities on the East coast and M cities on the West coast (M...原创 2019-05-17 20:42:59 · 523 阅读 · 0 评论 -
线段树辅助——扫描线法计算矩形面积并
线段树辅助——扫描线法计算矩形面积并本篇文章转自:传送门分析:1.矩形比较多,坐标也很大,所以横坐标需要离散化(纵坐标不需要),熟悉离散化后这个步骤不难,所以这里不详细讲解了,不明白的还请百度2.重点:扫描线法:假想有一条扫描线,从左往右(从右往左),或者从下往上(从上往下)扫描过整个多边形(或者说畸形。。多个矩形叠加后的那个图形)。如果是竖直方向上扫描,则是离散化横坐标,如果是水...转载 2019-05-18 08:48:09 · 984 阅读 · 0 评论 -
POJ1151 Atlantis(线段树,扫描线,离散化,矩形面积并)
转载自:传送门题目:AtlantisTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 23220 Accepted: 8657DescriptionThere are several ancient Greek texts that contain descriptions of the fabled isl...转载 2019-05-18 10:58:15 · 282 阅读 · 0 评论 -
迭代法求平方根
Description用迭代法求 。求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n])要求前后两次求出的得差的绝对值少于0.00001。输出保留3位小数InputXOutputX的平方根Sample Input 14Sample Output 12.000思路:公式x1=(x0+a/x0)/2;1 先自定一个初...原创 2019-09-17 21:08:59 · 8524 阅读 · 2 评论 -
二分
二分前几天接触了二分,所谓二分,顾名思义,就是把一组数据每次都从中间去取,设一个key值,每次去比较,之后移动最左面的值或者右面的值,再去比较,直到求出自己需要的值。我看过一篇大佬的文章,感觉受益匪浅:传送门这里放上一道很基础的题。愤怒的牛【题目描述】农夫 John 建造了一座很长的畜栏,它包括N (2 ≤ N ≤ 100,000)个隔间,这些小隔间依次编号为x1,....原创 2019-03-03 11:18:43 · 194 阅读 · 0 评论 -
异或最大值
异或最大值在C语言中,异或运算符是^。不管运算对象是10进制的数还是16进制的数(或其他进制的数),进行^运算时,都是将运算对象转换为二进制,按位进行异或运算。举例说明如下:int a=0x9a, b=0x56;int c = a^b; // 将a和b进行异或运算运算过程是a = 1001 1010 // 0x9ab = 0101 0110 // 0x56c = 1100 11...原创 2019-03-04 21:29:28 · 3132 阅读 · 0 评论 -
Posters (HDU-3265)
Posters (HDU-3265)Ted has a new house with a huge window. In this big summer, Ted decides to decorate the window with some posters to prevent the glare outside. All things that Ted can find are rect...原创 2019-05-24 20:26:17 · 316 阅读 · 0 评论 -
关于2050的感受和总结
lkx关于2050的感受和总结这次有幸在4月26日-4月28日参加了杭州云栖小镇的2050-年轻人因科技而团聚的活动。首先,我感觉这次活动使我受益匪浅,我在参与活动的过程中认识了来自不同学校,不同专业的学生,同时我也结识了许多大佬级别的人物,并且从中收获了许多。在4月25日晚上,与施韩原(wls)还有另外16个猛男一起来了一次小团聚,近距离接触了wls。感觉非常激动。在我们吃饭的...原创 2019-05-02 16:10:32 · 948 阅读 · 0 评论 -
atoi() 与 itoa()函数用法
itoa()函数的原型为: char *itoa( int value, char *string,int radix);itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转换数字时所用的基数。在例中,转换基数为10。10:十进制;2:二进制...itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sp...转载 2019-04-19 16:46:28 · 499 阅读 · 0 评论 -
atoi(s)函数用法
传送门:大佬文章atoi(s)函数用于把一个字符串转换为一个整型数据,该函数定义在stdlib.h中#include<iostream.h>#include<stdlib.h>int main(){char s[100];int b;gets(s);b=atoi(s);cout<<b<<endl;return 0;}...转载 2019-04-19 16:16:41 · 2448 阅读 · 0 评论 -
全排列
全排列转自:传送门全排列输入一个数n,输出1-n的全排列,这里我们将其形象化,举个例子,加入有编号1、2、3的3张扑克牌分别放在3个盒子里面,并且每个盒子有且只能放一张扑克牌。那么一共有多少种放法呢?好,第一步:小张手拿三张扑克牌,首先走到1号盒子面前,我们规定一个顺序,每次到一个盒子时,都先放1号,再放2号,最后放3号,于是小张走到一号盒子前,将1号扑克牌放在了1号盒子中。接下来...转载 2019-03-23 20:56:40 · 175 阅读 · 0 评论 -
尺取
尺取何为尺取算法呢?我觉得成为毛毛虫算法更为贴切,因为这个算法操作对象是一个序列,算法过程好像一个毛毛虫有伸缩也有前进。有这么一类问题,需要在给的一组数据中找到不大于某一个上限的“最优连续子序列”。比如Poj3061就是一道经典例题。描述给出N个正整数(10 <N <100 000)的序列,每个正整数小于或等于10000,并且给出正整数S(S <100 000...原创 2019-03-22 20:45:07 · 421 阅读 · 0 评论 -
快速排序
快速排序快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比...原创 2019-03-22 16:38:15 · 256 阅读 · 0 评论 -
C++ STL之vector用法总结
C++ STL之vector用法总结介绍vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增...转载 2019-03-16 20:10:49 · 131 阅读 · 0 评论 -
C++ map的使用
C++ map的使用本篇文章转载自:传送门C++中map容器提供一个键值对(key/value)容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。对于迭代器来说,可以修改实值,而不能修改key。Map会根据key自动排序。map 是键-值对的集合。map 类型通常可理解为关联数组:可使用键作为下标来获取一个值,正如内置数组类型一样。而关联的...转载 2019-03-15 20:03:18 · 471 阅读 · 0 评论 -
C++STL中的map详解
C++STL中的map详解本文转自:传送门对map函数的一些整理C++map的基本操作和使用Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来...转载 2019-03-15 15:49:31 · 258 阅读 · 0 评论 -
图的存储与遍历(链式前向星中的DFS与BFS)
图的存储与遍历(链式前向星中的DFS与BFS)本文转自:传送门图的存储方式:1.图的数组(邻接矩阵)存储表示,其中无向图的存储方式为对称矩阵数组,有向图的存储方式为非对称矩阵数组。求最短路径时常常采用数组存储表示各点间的路径。2.边集方法边的定义:stuct edge_set{int u,v;...转载 2019-03-13 20:48:14 · 794 阅读 · 0 评论 -
链式前向星(详解)
链式前向星(详解)转自:传送门我们首先来看一下什么是前向星.前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序,并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了.用len[i]来记录所有以i为起点的边在数组中的存储长度.用head[i]记录以i为边集在数组中的第一个存储位置.那么...转载 2019-03-12 10:48:55 · 14968 阅读 · 5 评论 -
Mayor's posters (POJ-2528)
Mayor's posters (POJ-2528)The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. Th...原创 2019-05-15 20:52:50 · 305 阅读 · 0 评论