随笔
文章平均质量分 76
brandong
ACM蒻鸡
展开
-
C和C++的区别
文章目录c和c++的区别1.函数原型2.char常量3.const限定符4.结构和联合5.枚举6.指向void的指针7.布尔类型8.可选拼写9.复数类型10.C++11中没有的C99/C11特性c和c++的区别**c是结构化语言,是面向过程的,数据与算法分开。**它的重点在于算法和数据结构。侧重于计算机底层操作。**c++是面向对象的,注重抽象出问题,建立对象模型。**主要特点是类,封装和继...原创 2019-04-30 11:07:03 · 1742 阅读 · 0 评论 -
并查集的常见用法模板
const int maxn = 1000000 + 10;const int INF = int(1e9);using namespace std;int fa[maxn]; //父亲结点int Rank[maxn]; //树的的高度void init(int n) //初始化所有结点{ for (int i = 0; i < n; i++) { fa[i] =...原创 2018-08-13 12:40:57 · 2064 阅读 · 0 评论 -
线段树--区间更新模板
练板子题目Hihocoder #1077Hihocoder #1078Hihocoder #1079Hihocoder #1080Hihocoder #1116线段树--区间更新1模板区间更新的操作为在区间增加权值wei对应题目POJ - 3468 A Simple Problem with Integers #include<iostream>...原创 2018-08-08 13:50:33 · 2171 阅读 · 0 评论 -
背包问题的个人理解(动态规划)
背包问题01背包问题:01背包问题描述:有编号分别为a,b,c,d,e的五件物品,它们的重量分别是2,2,6,5,4,它们的价值分别是6,3,5,4,6,每件物品数量只有一个,现在给你个承重为10的背包,如何让背包里装入的物品具有最大的价值总和?(有n个重量和价值分别为wi和Vi的物品。从这些物品中挑选出重量不超过W的物品,求所有挑选方案中价值总和的最大值。)动态规划的基本思路:将...原创 2018-08-12 13:45:17 · 3862 阅读 · 1 评论 -
D. The Wu Codeforces Round #502 (in memory of Leopoldo Taravilse, Div. 1 + Div. 2)
D. The WuChildan is making up a legendary story and trying to sell his forgery — a necklace with a strong sense of "Wu" to the Kasouras. But Mr. Kasoura is challenging the truth of Childan's story. ...原创 2018-08-10 14:24:52 · 259 阅读 · 0 评论 -
E. Border Codeforces Round #499 (Div. 2)
E. Border题目链接time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAstronaut Natasha arrived on Mars. She knows that the Martians are...原创 2018-07-28 11:40:18 · 487 阅读 · 0 评论 -
D. Rocket Codeforces Round #499 (Div. 2)
D. Rocket题目链接time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThis is an interactive problem.Natasha is going to fly to Mars. ...原创 2018-07-28 11:21:28 · 747 阅读 · 0 评论 -
D. Vasya And The Matrix Educational Codeforces Round 48 (Rated for Div. 2)
D. Vasya And The Matrix Educational Codeforces Round 48 (Rated for Div. 2)D. Vasya And The Matrixtime limit per test2 secondsmemory limit per test256 megabytesinputstandard input...原创 2018-08-05 21:24:47 · 431 阅读 · 0 评论 -
C. Vasya And The Mushrooms Educational Codeforces Round 48 (Rated for Div. 2)
C. Vasya And The Mushrooms Educational Codeforces Round 48 (Rated for Div. 2)C. Vasya And The Mushroomstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inpu...原创 2018-08-05 17:29:14 · 1078 阅读 · 2 评论 -
数据结构-实验一 链式存储结构的基本操作
广州大学学生实验报告开课实验室:计算机科学与工程实验(电子楼417) 2018年5月09日 学院 计算机科学与教育软件学院 年级、专业、班 网络161 姓名 卟咚君 学号 1606100*** 实验课程名...原创 2018-09-09 11:11:03 · 11453 阅读 · 0 评论 -
数据结构-实验二 树和二叉树的实现
广州大学学生实验报告开课实验室:计算机科学与工程实验(电子楼417) 2018年05月16日 学院 计算机科学与教育软件学院 年级、专业、班 网络161 姓名 卟咚君 学号 1606100*** 实验课...原创 2018-09-26 10:58:48 · 6239 阅读 · 0 评论 -
数据结构-实验三 图的遍历生成树
广州大学学生实验报告开课实验室:计算机科学与工程实验(电子楼417) 2018年05月31日 学院 计算机科学与教育软件学院 年级、专业、班 网络161 姓名 卟咚君 学号 1606100*** 实验课程...原创 2018-09-26 11:36:14 · 3944 阅读 · 3 评论 -
C++ 文件的基本操作
C++ 文件的基本操作C++语言将文件看成无结构的字节流,根据文件数据的编码方式不同,分为文本文件和二进制文件。根据存取方式不同,分为顺序存取和随机存取方式。流库的ifstream,ofstream,fstream类用于内存和文件之间的数据交换。文件的基本操作一般分为三个步骤:打开文件,读写文件,关闭文件1,打开文件如果以读的形式打开文件,应该用ifstream;如果以写的形式打...原创 2019-03-13 12:59:42 · 2864 阅读 · 0 评论 -
二分图
文章目录二分图**一. 二分图的判断二.二分图的最大匹配三. 二分图最小点覆盖和最大独立集四. 二分图的最大权匹配二分图**二分图又称作二部图, 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。通俗来讲,就是二分图中的每一条边的两个顶点,...原创 2019-02-26 22:19:09 · 1574 阅读 · 1 评论 -
个人关于红黑树的理解
目录 红黑树(red-black-tree)一.红黑树的定义和性质二.红黑树的结构三.输出一颗红黑树四.查询红黑树查找查找最大关键字元素和最小关键字元素查找前驱和后继五.※插入和删除插入删除六.完整代码红黑树(red-black-tree)一.红黑树的定义和性质红黑树是一种二叉查找树,在每个结点上增加一个存储位表示结点的颜色,,可以是...原创 2019-02-21 12:48:24 · 4308 阅读 · 0 评论 -
个人关于二叉搜索树的理解
目录二叉搜索树(binnary search tree)一.二叉搜索树的定义和性质二.二叉搜索树的结构三.输出一颗二叉搜索树四.查询二叉搜索树查找查找最大关键字元素和最小关键字元素查找前驱和后继五.插入和删除插入删除六.完整代码二叉搜索树(binnary search tree)一.二叉搜索树的定义和性质一颗二叉搜索树是按照二叉树结...原创 2019-01-19 19:58:32 · 4230 阅读 · 0 评论 -
关于Dev-C++的安装以及基本使用方法
关于Dev-C++的安装以及基本使用方法觉得Dev-C++是一款小巧方便的编译器,就给那些刚刚学习编程的同学讲一下这个软件的安装和基本的编译以及一些使用的技巧。(完全是傻瓜式的截图和教程,内容过于冗余,主要是考虑到这些新生没有接触过编程软件)一,关于Dev-C++的安装我这里使用的版本是Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup(链接的百度云资源是直接在网...原创 2018-10-04 21:18:01 · 175385 阅读 · 33 评论 -
数据结构-实验五 查找算法
广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼417) 2018年06月13日 学院 计算机科学与教育软件学院 年级、专业、班 网络161 姓名 卟咚君 学号 1606100*** 实...原创 2018-09-26 11:55:13 · 12113 阅读 · 0 评论 -
数据结构-实验四 排序算法的实现
广州大学学生实验报告开课实验室:计算机科学与工程实验(电子楼417) 2018年06月13日 学院 计算机科学与教育软件学院 年级、专业、班 网络161 姓名 卟咚君 学号 1606100*** 实验课程...原创 2018-09-26 11:44:10 · 12848 阅读 · 2 评论 -
C. Fly Codeforces Round #499 (Div. 2)
C. Fly题目链接time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNatasha is going to fly on a rocket to Mars and return to Earth. Also...原创 2018-07-28 01:17:53 · 732 阅读 · 0 评论 -
B. Planning The Expedition Codeforces Round #499 (Div. 2)
B. Planning The Expedition题目链接time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNatasha is planning an expedition to Mars for nn ...原创 2018-07-28 00:53:03 · 749 阅读 · 3 评论 -
A. Stages Codeforces Round #499 (Div. 2)
A. Stages题目链接time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNatasha is going to fly to Mars. She needs to build a rocket, whic...原创 2018-07-27 23:43:09 · 847 阅读 · 0 评论 -
Codeforces Round #478 (Div. 2) D. Ghosts
D. Ghosts题目链接题意:挺有意思的一道题,说的是有n个鬼魂在二位坐标上直线行走,某个时间点,它们恰好在一条直线上,给你这条直线y=ax+b中的a和b,然后给你n个点的横坐标和它们在X轴和Y轴的速度,问从t=−∞到t=+∞的时间段里,它们相互之间碰撞了几次。思路:设任意两点i,j,它们在时间Tx的时候在横坐标上相遇,写出等式为,即设它们在时间Ty的时候相遇,同理可得。要想它们真正的相遇,需要...原创 2018-05-02 21:48:56 · 723 阅读 · 0 评论 -
Codeforces Round #475 (Div. 2) C. Alternating Sum
C. Alternating Sum题目链接题意:给出n,a,b,k,第二行给出长度为k一个字符串s,s[i]='+'或者s[i]='-',求 n∑i=0sian−ibi∑i=0nsian−ibi 在模109+9109+9下的值,其中s[i]=s[i%k];思路:先将字符串s的长度进行扩展到大于int(1e4)的k倍长度的字符串s,将求和的n+1个数分割成(n+1)/k份,剩下的部分再暴力求解。...原创 2018-04-20 16:38:22 · 279 阅读 · 0 评论 -
AtCoder Regular Contest 096 E - Everything on It
E - Everything on It题目链接题意:挺难读懂的一道题..... 给你n种酱,可以任意添加入拉面中。你可以有任意碗拉面,然后你可以选择加入和不加这n种酱的任意一种进去任意一碗拉面中,问你怎么添加,使得:1.这任意碗拉面中,不存在两碗拉面加的酱相同。2.这任意碗拉面中,每一种酱都至少加入过两碗拉面中。满足以上两个条件的加酱方法算一种方案。问有多少种方案%mod。举个...原创 2018-04-23 19:56:02 · 579 阅读 · 0 评论 -
关于lower_bound( )和upper_bound( )的常见用法
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bound(...原创 2018-04-30 16:53:16 · 404672 阅读 · 45 评论 -
Codeforces Round #477 C. Stairs and Elevators
Codeforces Round #477 C. Stairs and Elevators题目链接题意:给你一栋高n层,每一层由m个部分组成,可以看成是一个矩阵划分成行和列。给你一cl,ce分别表示有个楼梯和电梯,然后给你一个v表示电梯的速度。接下来行表示每个电梯在对应楼层的位置,在接下来行表示对应电梯口的位置。然后有q个询问,每个询问包括一个起点和终点,问你从起点到终点的最短时间。思路:这道题的...原创 2018-04-30 16:24:42 · 1097 阅读 · 0 评论 -
“今日头条杯”首届湖北省大学程序设计竞赛 A. Srdce and Triangle
A. Srdce and Triangle题目链接题意:给你一个等边三角形 ,然后给出三角形内任一点D与三角形的顶点连线的三个内角,求是否能由这新的连线的三条边形成一个三角形,可以的话输出形成的新的三角形的三个角,不行的话输出三个 -1。思路:简单结论题。证明一下做法:先以AD为边做一个等边三角形,即△ADD',可以看出△AD'B和△ADC是全等三角形(AD=AD',AB=AC,∠D'AB=∠...原创 2018-04-23 12:49:01 · 378 阅读 · 0 评论 -
“今日头条杯”首届湖北省大学程序设计竞赛 D. Who killed Cock Robin
D. Who killed Cock Robin题目链接题意:给出一颗树,求它的所有子树的总数。思路:定义一个dp[],dp[u]是指以u为结点的子树的个数。 可以推出:对于u所有的直接子节点v,dp[u]=dp[u]*(dp[v]+1); 可以理解为(dp[v]+1)是在v结点形成的所有子树中加入一个u结点这样形成的一定含有u结点的子树总数。#include<...原创 2018-04-23 12:06:26 · 307 阅读 · 0 评论 -
Wannafly挑战赛14 C.可达性
C.可达性题目链接题意:给出一个 0 ≤ N ≤ 105 点数、0 ≤ M ≤ 105 边数的有向图, 输出一个尽可能小的点集,使得从这些点出发能够到达任意一点,如果有多个这样的集合,输出这些集合升序排序后字典序最小的。ps:本题中,图中可能有环,自环,还可能是不连通图。思路:先用tarjan算法对图中的环进行缩点,得到一个不含环的有向图。对这个图的每一条边取反,对所有点用dfs搜索出度为0的点...原创 2018-04-21 00:39:12 · 236 阅读 · 0 评论 -
个人关于kmp的理解
kmp:解决的问题是,有一个(或多个)原串和一个模式串,问模式串在原串中出现的次数。由于KMP算法的思想是主串不回溯的简化算法,执行的时候呢在串比较的扫描里面要么执行POST和POSP,要么执行NEXT[]数组的右移,然后比较,所以字符比较最多就是为O(LenthT),即不会超过O(n)首先,我们对一个样例进行分析模式串:bababb原串:babababcbabababb很明显,我们可以看出来,模...原创 2018-05-12 13:11:33 · 1316 阅读 · 0 评论 -
Different Integers 牛客网暑期ACM多校训练营(第一场)(树状数组+思维)
Different Integers牛客网暑期ACM多校训练营(第一场)题意:给你一个数组,每一次询问一个l和r,需要求[1,l],[r,n]区间有多少个不同的数字题目链接官方题解:思路:将这个数组接在他自己的末尾生成一个新的数组,即num[i+n]=num[i],这样查询[1,l],[r,n]区间有多少个不同的数字就可以转换成查询[r,l+n]区间有多少个不同的数字的问题...原创 2018-07-20 23:42:41 · 869 阅读 · 0 评论 -
A. Ternary String 牛客网暑期ACM多校训练营(第四场)
A. Ternary String 牛客网暑期ACM多校训练营(第四场)题目链接A ternary string is a sequence of digits, where each digit is either 0, 1, or 2.Chiaki has a ternary string s which can self-reproduce. Every second, a d...原创 2018-07-29 01:37:13 · 444 阅读 · 1 评论 -
F. Mars rover Codeforces Round #499 (Div. 2)
F. Mars rover题目链接time limit per test5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputNatasha travels around Mars in the Mars rover. But suddenly i...原创 2018-07-28 17:13:37 · 461 阅读 · 0 评论 -
扩展欧几里得模板与个人见解
hihoCoder1303数论六·模线性方程组题目链接题意:给你一个模线性方程组,求解x模线性方程组为x mod m[1] = a[1]x mod m[2] = a[2]x mod m[3] = a[3]......x mod m[i] = a[i]其中m[i]为模数,a[i]为余数,需要求解的是x思路:于hihoCoder#1303 : 数论六·模线...原创 2018-07-17 23:17:45 · 5759 阅读 · 0 评论 -
F. Xor-Paths Codeforces Round #498 (Div. 3) (双向dfs+折半枚举)
Codeforces Round #498 (Div. 3) (双向dfs)F. Xor-Paths 题目链接题意:给你一个n*m的矩阵和一个k,问从(1,1)到(n,m)的最短路径中,路径上每个点的异或值的总和的为k的路径数目为多少。思路:折半枚举,通过(1,1)dfs到(i,j)点的所有可能路径的所有结果,其中i+j==max(n,m),将所有在(i,j)的结果存储起来;反...原创 2018-07-17 10:57:12 · 1561 阅读 · 0 评论 -
LCA倍增法 求树的最近公共祖先(模板)
LCA倍增法求树的最近公共祖先查询树上任意两个节点之间的路径信息,实际上就是找这两个节点的LCA,因为唯一路径就是这两个节点分别到LCA会合,所以关键问题就是求LCA,需要的路径信息可在找LCA过程中维护。找LCA的思想类似于RMQ,定义fa[u][i]为节点u的第2^i个父节点,fa[u][0]就是u的父节点,fa[u][1]就为u的爷爷节点,那么就有如下递推式:fa[tmp][i]...原创 2018-06-10 17:29:11 · 2168 阅读 · 0 评论 -
扩展KMP的详细理解
扩展KMP的详细理解扩展KMP求的是对于原串S1的每一个后缀子串与模式串S2的最长公共前缀。它有一个next[]数组和一个extend[]数组。next[i]表示为模式串S2中以i为起点的后缀字符串和模式串S2的最长公共前缀长度.其中,next[0]=l2; next[i]=max{ k|i<=i+k-1<l2 &&S2.substring(i,i+k-1) == S2...原创 2018-05-22 16:35:21 · 16509 阅读 · 4 评论 -
AtCoder Regular Contest 096 D - Static Sushi
D - Static Sushi题目链接题意:给你一个环,然后给你环上的n个点以及环的最大长度,接下来给你n个点的坐标以及经过能获得的能量。你每走一步都会消耗一点能量,问你在这个环上走最大能获得的能量。思路:dpr[i]表示往右边走,未走到i点时的最大能量;dpl[i]表示往左边走,未走到i点时的最大能量;预处理出dpr[]和dpl[]就好办了。然后直接贪心左右两边遍历一遍。#include &l...原创 2018-04-21 23:22:27 · 267 阅读 · 0 评论