初学C++
joeycom2
这个作者很懒,什么都没留下…
展开
-
输入
写在最前:开学已经有一个月了,还没好好开始学C++,now学渣的我要努力了。 先从最基础的输入输出学起。 1.cin的输入原理: 与scanf函数一样,程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的:当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,ci原创 2016-03-29 09:51:03 · 284 阅读 · 0 评论 -
hdu 2102-搜索
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int n,m,t,xx[4][2]={{1,0},{0,1},{-1,0},{0,-1}},xp,yp,visit[2][11][11]; //xp、yp是终点坐标 char map[2][11][11]; //因为有两层,所以用三维 vo原创 2017-04-04 19:53:34 · 185 阅读 · 0 评论 -
简单DP
套题链接:https://vjudge.net/contest/152991#overview A题–最少拦截系统:问题的实质就是求出最长的连续递增子序列的长度#include<stdio.h> #include<algorithm> #include<math.h> #define maxn 1000 using namespace std; int n, a[maxn],d[maxn];int原创 2017-03-15 16:40:28 · 219 阅读 · 0 评论 -
线段树
首先我们来看一下线段树的定义,线段树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。 线段树问题可以大致分为以下四类 1.单点更新:原创 2016-10-24 20:53:30 · 233 阅读 · 0 评论 -
HDU1358-Period(kmp-求前缀长度和最小循环节长度 )
题目链接:acm.hdu.edu.cn/showproblem.php?pid=1358 题目描述:给一数字n,和一长度为n的字符串,要求把所有循环节大于1的字符串的长度和循环次数输出。//求前缀长度和最小循环节长度 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define maxn 100原创 2016-11-24 22:12:12 · 378 阅读 · 0 评论 -
HDU-剪花布条(kmp)&& HDU-Oulipo(kmp)的区别
HDU2087-剪花布条 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 题目描述:给出父串和子串,问子串在父串中出现的次数#include<cstdio> #include<cstring> #include<algorithm> #define maxn 1010using namespace std; char fa[maxn], s原创 2016-11-24 21:59:16 · 230 阅读 · 0 评论 -
Big Event in HDU-01背包(dp思想)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1171 问题描述:给出每个物体的价值和数量,如何分使得A,B所得价值最接近并且A的价值不能小于B 解决方法:dp[i]是体积为i时,获得的最大价值。易得: dp[j] = max(dp[j], dp[j - val[i]] + val[i]);#include <iostream> #include原创 2016-11-24 21:30:19 · 176 阅读 · 0 评论 -
HDU1756--判断点与多边形的相对位置
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1756 题意:判断点是否在给出的多边形内(包括边界)#include<cstdio> #include<cstring> #include<cmath> #include<iostream>using namespace std;const double eps = 1e-8; //判断double类型原创 2016-08-12 08:13:20 · 437 阅读 · 0 评论 -
最长上升子序列问题LIS
问题描述:对于给定的n个整数A1, A2…An, 从左到右的顺序选择尽可能多的数,组成一个上升子序列。(上升子序列可以理解为:删除0个或多个数, 其他数的顺序不变, 例如1, 6, 2, 3, 7, 5, 可以选出上升子序列1, 2, 3, 5 也可以选出 1, 6, 7) 法一:通过DP记忆化搜索求解问题,时间复杂度为O(n^2) #include #include #include #i原创 2016-08-09 20:45:31 · 289 阅读 · 0 评论 -
C++this指针&&友元
this指针学习资源: 1. http://www.cnblogs.com/hnrainll/archive/2011/05/20/2051939.html 2.转载 2016-05-07 17:15:31 · 363 阅读 · 0 评论 -
c++构造函数 && 拷贝,赋值,析构
构造函数 作用:为对象成员变量赋初始值。new运算符一起使用 注意: 1.构造函数的命名必须和类名完全相同 2.没有返回值,即不用在定义时加返回值类型(void int float之类的) 3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用原创 2016-04-12 21:47:57 · 411 阅读 · 0 评论 -
hdu2181-哈密顿绕行世界
#include<stdio.h> #include<algorithm> #include<math.h> #include<string.h> #include<queue> #define maxn 21 #define INF 0xfffffff using namespace std; bool map[maxn][maxn]; bool used[maxn]; int res[maxn]原创 2017-04-06 10:31:46 · 226 阅读 · 0 评论