首先看C++的:C++要实现对浮点型数据小数位的保留,需要添加头文件,C++一共有三种小数保留方式,具体看代码
——————- 文件 1.h ———————————-#pragma onceclass A{public: static int x;public: void func();};int A::x = 1;—
const int a = 1;int * p = (int*)&a;*p = 2;cout << &a << " " << p << endl; //00D6FB90 00D6FB90cout << a << " " << *p
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。(2) 类型和安全检查不同 define
#ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif#endif在C语言环境下,由于不存在函数重载等问题,直接将NULL定义为一个void*的指针就可以完美的解决一切问题。 但是在c++环境下情况就变得复杂起来, 首先我们不能
一个工程项目,会有很多.cpp,每个.cpp先生成对应的.obj,即编译单元;接着链接器把所有编译单元链接起来,组成一个.exe,这就是程序了。 include的目的是我们可能会在当前的cpp中使用其他cpp内定义的东西,但是我们不可以直接include该cpp,因为这会导致在链接的时候出现重定义的错误(cpp本身有一份定义,又被别人include了一份定义,链接的时候就会有两份定义)。因
在stackoverflow上找到了答案,第二个人的回答: Abstract Data Type(ADT) is a data type, where only behavior is defined but not implementation. Opposite of ADT is Concrete Data Type (CDT), where it contains an imp
char ch[2] = { '1','2' };char ch1[2] = "12";//error前者属于字符数组;后者是以字符串初始化字符数组,ch1只有两个字节的空间,而“12”是三个(字符串需要在末尾加'\0',它单独占一个字节),因此后者报错。
按位与运算按位与运算符”&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 00001001 (9的二进制补码) &00000101 (5的二进制补码) 00000001 (1的二进制补码) 可见9&5=1。 按位与
text: 代码段(code segment/text segment)通常是指用来存放 程序执行代码 的一块内存区域。这部分区域的大小在程
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2218给定一个字符串,由前k个小写字母组成,取两个子串,其中一个子串内的字母不与另一个子串内任何字母相同,求最大长度积。思路:k最大16,明显的状压dp。先把字符串的每段区间压缩,放进dp[ ],接着从0到(1<#include<iostream>#include<stdio.h>#include<algo
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2219m棵二叉树,表示m个初始工人,每一次分叉都是使用魔法将一个工人变成两个工人,因为每次需要k单位的时
原题链接:http://acm.fzu.edu.cn/problem.php?pid=2214这题不能按照传统01背包来做,它的容量太大,数组会爆掉。注意到物品个数较小,而且价值和最大只有5000,所以可以逆向思维,求得对应价 值下最小的重量,即dp[i]表示总价值为i的最小重量是多少,则dp[j] = min(dp[j] , dp[j-val[i]]+vol[i]);最后从sum(物品总价值开始
#include<iostream>#include<algorithm>#include<string>#include<cassert>#include<fstream>using namespace std;char s最长子序
LevenshteinDistcance即莱文斯坦距离。 https://zh.wikipedia.org/wiki/%E8%90%8A%E6%96%87%E6%96%AF%
原题链接:http://poj.org/problem?id=2250#include<iostream>#include<string.h>#include<string>#include<algorithm>using namespace std;string s1[105];string s2[105];int dp[105][105];int len1, len2;void
题目链接:http://poj.org/problem?id=1458dp[i][j]dp[i] [j]表示串s1前i字符和串s2前j字符的最长公共子序列。#include<iostream>#include<string.h>#include<algorithm>using namespace std;int dp[1005][1005];char s1[1005];char s2[1
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2717一道简单的BFS啊,怎么当时脑子就弯了呢?当时没想到visited标记数组,导致一直超时!!!#define _CRT_SECURE_NO_DEPRECATE #include<iostream>#include<array>#include<vector>#include<queue>us
【未完成】hdu2255【带权最优匹配】
线性表第 1 篇:学习数据结构前你需要知道的第 2 篇:第 3 篇:
位运算寻找缺失的数字 二进制中1的个数—-位运算 检测一个数能否被3整除—-位运算 判断两个数是否符号相反—-位运算动态规划 数字转字母的编码方式的个数 —- DP 直方图最大面积 —- DP利用栈寻找下一个较大元素 — 利用栈 包含min函数的栈 —- 利用栈
https://cn.vjudge.net/problem/HDU-3311题意:n 个和尚所住地各有一口井,另有 m 处也有口井,这 n + m 口井的挖掘需要花费,另外有 p 条路线连接这些井,问如何修路和挖掘使每个和尚都有水且总花费最小。分析:n + m 个点选 n 个点的最小生成树,但是要考虑到有可能出现这样总花费最小的情况:n 个和尚就在自己的所在地挖井,不造路,此时是不...
https://cn.vjudge.net/problem/ZOJ-3613题意:n 个星球,每个星球 p 个工厂,s 个资源,给出 m 条路及其代价,一个医院只能对应一个工厂,求出可以获得资源的最多工厂数及其对应的最低代价。分析:几乎是裸题了。有几个注意点:如果一个星球既有资源又有工厂,那么不需要建路,直接就可以用,但是用了以后这个星球的资源就没了,被占用了。最后枚举状态...
https://cn.vjudge.net/problem/POJ-3123题意:n 个城市,m 条路,给定八个点(也就是四对),使每队点连通且总权和最小。分析:dp[i][j] 表示 i 状态下以 j 为起点的最小总权和。#include <iostream>#include <cstdio>#include <cstdlib>#...
https://cn.vjudge.net/problem/HDU-4085题意:给你 n 房子, m 条路, k 户人家,每条路有一个权值,表示修复这条边需要的代价,起初 k 户人家依次住在第 1个,第 2 个,,,第 k 个房子里,现要求让着前 k 个房子和后 k 个房子一一对应连通建路,问最小的代价是多少。分析:可以先简单看成一个斯坦纳树问题:n 个点选给定的 2 * k...
动态语言和静态语言(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
KMP:hdu 1686 :简单题hdu 2087 :简单题hdu 3746 :需透彻理解next数组的含义hdu 1358 :还是需要透彻理解next数组的含义hdu 3336 :有点难度,KMP+DP
hdu2602:01背包模板 hdu1171:01背包+读懂题意 hdu2955:01背包+问题转化 hdu2639:01背包k优解 hdu2159:完全背包+额外限制
单点操作hdu1166 :地兵布阵区间操作
hdu1501:二维dp
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号