知识讲解
中海豚
患得患失
展开
-
7.14自学总结有关STL--Sabrina
vector添加头文件#indludevector a[1000];每个a[]是一个vectora[1].push_back()向尾部添加a[1].pop_back()删除最后一个a[1].size()读取大小a[1].resize(h+1)改变数组大小为0到ha[1].clear()清除所有cout<<a[1][0]是一个不定长数组setset a;int集合...原创 2019-07-14 20:34:47 · 110 阅读 · 0 评论 -
P2341 [HAOI2006]受欢迎的牛--很细--Sabrina--Sabrinadol
题目背景本题测试数据已修复。题目描述每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果A喜欢B,B喜欢C,那么A也喜欢C。牛栏里共有N 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以当明星。输入输出格式输入格式: 第一行:两个用空格分开的整数:N和M 第二行到...原创 2019-07-22 21:31:38 · 99 阅读 · 0 评论 -
蚂蚁问题-POJ1852-P1367--思维题--详解--Sabrinadol--Sabrina
POJ1852蚂蚁时间限制: 1000MS 内存限制: 30000K提交总数: 31489 接受: 11801描述一队蚂蚁在长度为1厘米的水平杆上行走,每根杆的速度恒定为1厘米/秒。当一只行走的蚂蚁到达极的一端时,它会立即从它上掉下来。当两只蚂蚁相遇时,它们会转身并开始向相反方向行走。我们知道蚂蚁在杆子上的原始位置,不幸的是,我们不知道蚂蚁行走的方向。你的任务是计算所有蚂蚁从杆上掉下...原创 2019-07-26 19:54:03 · 1224 阅读 · 1 评论 -
细说线段树--P3372--Sabrina--Sabrinadol-1
1.线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。这样的数据结构有助于我们对区间的处理。2.我们举求区间和(区间最值其实差不多),并需要对区间元素进行修改为例,如下题题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别...原创 2019-07-23 12:02:16 · 128 阅读 · 0 评论 -
拓扑排序--P1983--UVA10305--讲解--Sabrina--Sabrinadol
传送门题目描述一条单向的铁路线上,依次有编号为 1, 2, …, n 1,2,…,n的 n n个火车站。每个火车站都有一个级别,最低为 11 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 xx,则始发站、终点站之间所有级别大于等于火车站 xx 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是 5 5趟车次的运行情况。其中...原创 2019-07-27 16:34:10 · 164 阅读 · 0 评论 -
区间dp--P1880环状石子合并题解
区间dp–P18880环状石子合并题解传送门题目描述在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.输入格式数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.输出格式输出共2...原创 2019-08-23 16:19:26 · 150 阅读 · 0 评论 -
区间dp--P3205 [HNOI2010]合唱队
P3205 [HNOI2010]合唱队传送门题目描述为了在即将到来的晚会上有更好的演出效果,作为AAA合唱队负责人的小A需要将合唱队的人根据他们的身高排出一个队形。假定合唱队一共N个人,第i个人的身高为Hi米(1000<=Hi<=2000),并已知任何两个人的身高都不同。假定最终排出的队形是A 个人站成一排,为了简化问题,小A想出了如下排队的方式:他让所有的人先按任意顺序站成一个...原创 2019-08-23 20:34:17 · 130 阅读 · 0 评论 -
dp杂题--数塔问题
dp杂题–数塔问题1.简单例题:数塔问题(Hdu_oj2084)DP数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 70797 Accepted Submission(s): 40982Problem Descript...原创 2019-08-25 17:12:41 · 222 阅读 · 0 评论 -
Conclusion--dp
Conclusion–dp1.一般来讲dp就分为三种:区间dp ,状态压缩dp ,树上dp2.其实个人觉得dp的题代码都是比较好写的,最重要的就是要找到状态转移方程3.三种dp中区间dp是最常见也是最重要的,状态压缩在压缩上的实现可能需要一点位运算什么的,树形dp简单一点。...原创 2019-08-23 15:06:43 · 110 阅读 · 0 评论 -
二叉树基本操作实例
这里是用指针实现的创建查找二叉树查找元素先序,中序,后序输出解释都在代码注释中#include <cstdio>#include <cstdlib>struct node { int data; struct node *leftChild; struct node *rightChild;};struct node *root...原创 2019-07-25 21:16:26 · 296 阅读 · 0 评论 -
MY课题--费马小定理入门--ZOJ3785--Sabrina--Sabrinadol
1.内容当gcd(a,p)=1时a^(p-1)=1(mod p)a的p-1次方取p的模为12.举例如果现在我们要去求 2^100(mod 13)=?很明显该数过大,不过我们首先可以考虑用二分的思想,一层一层取模运算。但是,Sabrina提出了问题:有没有更好的办法呢?肯定是有的从费马小定理出发,我们是否可以将这个一百化为 n*(p-1)+k,n直接用100/12向下取整就...原创 2019-07-25 20:59:32 · 217 阅读 · 0 评论 -
并查集知识概要及并查集模板题--19/7/6 Sabrina
并查集1.其实并查集无非就是两个思想 : 并和查2.那么我们为什么要进行并和查呢,这样做有什么作用呢下面给出一道基础模板题题意:多个黑帮混战,但是由于都光着膀子,并且每个人只认识自己的师父(每个黑帮祖师爷只认识自己,毕竟目中无人嘛!)。现在有两个人碰在一起,但是他们不知道对方是敌人还是一个帮派的,请你来告诉他们(祖师爷一样就代表是同一个黑帮)样例输入:n,m ...原创 2019-07-06 23:54:02 · 170 阅读 · 1 评论 -
双端队列的用法
这是一个神奇的容器,stack和queue都是通过它实现的。可以从队首和队尾进行插入和删除操作。还可以访问队中元素。头文件deque<类型>d;可以用d[i]访问元素。常用于SPFA的SLF优化。函数:push_back(x)/push_front(x) //把x压入后/前端back()/front() //访问(不删除)后/前端元素pop_back() pop_f...转载 2019-07-19 09:36:01 · 721 阅读 · 0 评论 -
最大子序和--AT2412--由特殊到一般--Sabrina--Sabrinadol
题意翻译题意读入n个整数的数列a1,a2,…,an和正整数k(1<=k<=n),请输出连续排列的k个整数的和的最大值输入第一行是正整数n(1<=n<=100000)和正整数k(1<=k<=n) 第二行以后的第1+i(1<=i<=n)至最后一行为数列输出仅一行,仅包括最大值。样例输入5 3 2 5 -4 10 3样例输出11由 @...原创 2019-07-19 16:04:43 · 151 阅读 · 0 评论 -
洛古--P1341 无序字母对--欧拉路径--Sabrina--Sabrinadol
题目网站题目描述给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒)。请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现。输入输出格式输入格式:第一行输入一个正整数n。以下n行每行两个字母,表示这两个字母需要相邻。输出格式:输出满足要求的字符串。如果没有满足要求的字符串,请输出“No Solution”。如果有多种方案,请输出前面的字...原创 2019-07-24 11:43:02 · 121 阅读 · 0 评论 -
细说线性表之单链表
我们通过一道题来进行讲解和练习Linked ListTime limit: 1s Memory limit: 131072 kB【题目描述】您的任务是编写执行以下操作的程序:insert x:在链表开头添加含有键值x的结点。delete x:删除第一个含有键值x的结点。如果没有这样的元素,你不需要做任何事情。deleteFirst:删除链表的第一个结点。deleteLast:删除...原创 2019-07-19 21:15:53 · 170 阅读 · 1 评论 -
队列的基本操作函数--Sabrinadol--Sabrina
C++队列queue模板类的定义在头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素pop(...转载 2019-07-17 19:00:19 · 196 阅读 · 0 评论 -
TSP旅行商问题--位运算--Sabrina--Sabrinadol
TSP问题 (tsp.cpp/c/pas) Time Limit : 1 sec , Memory Limit : 128MB Description 对于给定的加权有向图G(V,E),查找满足以下条件的最短路径的距离: 这条路径是一个环,即这条路径的起点和终点都是同一个点。 每个顶点只能访问一次。 Input |V| |E| s0 t0 d0 s1 t1 d1 : s|E|−1 t|E|...原创 2019-07-24 20:01:17 · 275 阅读 · 0 评论 -
数学筛法--很全--在noip中的运用--Sabrina--Sabrinadol
1.求素数用到的方法(1)普通枚举 枚举到sqrt(n)就好(2)朴素筛法通过对每个数有无非平凡因子来判断朴素筛法 nlogn ,这个时间复杂度的计算有些复杂如下n/2+n/3+n/4+…+n/n;n(1/2+1/3+1/4+…+1/n)后面那一坨大致就约等于 ln(n) (学过数竞应该知道)int a[maxn],b[maxn],n;int cnt=0;//筛出 2 到 n...原创 2019-07-21 21:20:22 · 216 阅读 · 0 评论 -
KMP--多道列题+知识点
1.算法介绍KMP是经典得不能再经典的字符串查找算法。它用来对字符串查找时的时间复杂度的优化,通过预处理减少大部分没必要计算的问题。2.算法正题比如A:aaabsaabssb lena=11;B:bssb lenb=4;以下数组下标从1开始(1).一般暴力方法:我们一个一个查找。先声明两个指针变量i,j。如果A[i+1]==B[j+1],就i++,j++;如果不是,就j=1,i...原创 2019-08-29 11:53:00 · 273 阅读 · 0 评论