自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李硕

C/C++编程

  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 图论基础之建图(邻接表)

很久没有很细心的总结一个东西了,这次我是真的不想再学了忘了,这次我一定会,学习后及时复习,要不然真的不如不学呀,前面学后面就忘,这不跟没学一样么???遗忘规律我是跳不出来了,就希望自己能够跟好的学习,更好的利用好时间吧,这是很细心的总结了建图,大家看看:#include #include #include #include /* *怎么用邻接表建图 *及最简单的B

2013-03-30 21:59:47 2341 1

原创 XMU-1028(典型的背包问题(dp))

1028.Game Boy AdvanceTime Limit: 2000 MS         Memory Limit: 65536 K Total Submissions: 3967 (772 users)         Accepted: 1137 (676 users) [ My Solution ]Description    TheBeet很

2013-03-27 22:18:57 907

原创 Noj-1389(打表题目)

[1389] The Sum of Factorial时间限制: 1000 ms 内存限制: 65535 K问题描述对于一个数n,该数每位上的数的阶乘的总和如果等于n,那么该数是阶乘和数。输入输入包括一个数 N (1 输出输出所有的 N 位数的阶乘和数。如果没有答案,不用输出。样例输入1样例输出12

2013-03-27 20:43:06 1016

原创 Noj-1388(最安全的地方)

作为一个战地记者,你现在要去前线报道,阵地是n乘m的,每一个坐标都有一个士兵在埋伏,现在你给每一个士兵都打了个分数,代表了在他们附近的安全程度。总的安全程度指的是以你为中心的九宫格的安全程度总和,包括在你位置的士兵。总和囊括的是实际存在的九宫格,就是说假设你在边界,在边界外的九宫格就一点也不安全了,即为零。你的任务就是找一个最安全的地点。如果有多个答案,应该先输出行号最小的一个,若同一行还有多列答

2013-03-27 19:05:37 909

原创 NOJ-1380(KMP)

裸的KMP,主要是next函数要是写出来了next函数基本上A题目还是木有什么问题的贴出代码:#include #include #include #include using namespace std;char pat[111];char str[400004];int next[111];void getnext(){ int i = 0;

2013-03-21 19:57:35 717

原创 NOJ-(strling数)

[1379] 小球划分时间限制: 1000 ms 内存限制: 65535 K问题描述将N个不同的小球分成若干组,问总共有多少总分法输入包含多组数据,每行一个数n,表示共有n个小球。(1≤x≤1000).输出对每组数据,输出一行:不同的方法数,因为这个数可能非常大,我们只需要它除以10000的余数。样例输入123样例输出

2013-03-21 19:47:33 1206

原创 NOj-1378(战斗吧,皇后!)

晕死啦,晕死啦..呜呜..怎么可以这样呢,,其实都是怪自己没有静下心来好好的思考问题呀!!这样的问题还是很好推出答案的,只要自己够小心就能出结果呀,,,诶诶..贴出自己的代码:#include #include #include #include using namespace std;__int64 A(int r, int n){ __int64 s

2013-03-20 19:27:10 997

原创 大数加法(bign)

晕死呀,,,昨天的大数的题目真心没有写好,,错了好几次才写对,心里真不是什么滋味呢.今天狠下心来又总结了一下大数的问题,,还是比较麻烦的.如果用java写的话也就那么几行就完事了,,,因为有处理这个东西的专门函数,而且还能处理各种运算,,,只要查Api就行了.但是,如果要是用c写的话,还是比较麻烦的..主要是:1,格式弄不好,其实最优秀的算法,应该是开始的时候就应该

2013-03-13 22:13:57 1142

原创 9.3.2(规划方向)

其实不用存着w和v的贴出代码:#include #include #include #include using namespace std;const int maxn = 1111;int N;int V;int f[maxn][maxn];int main(){ while (scanf("%d%d", &V, &N) != EOF) { in

2013-03-11 13:34:16 741

原创 9.3.1(0_1背包)

我觉得我的这个是对的吧???因为我每次得到的都是最优解,所以应该是正确的贴出,让大家给看看:#include #include #include #include #include using namespace std;const int maxn = 1005;int V;int N;struct node{ int v; in

2013-03-10 22:04:47 884

原创 9.3.1(0_1背包)

这是个很经典的背包问题咯,很简单吧,就是先排序,选择可以选择的最大有效物品贴出我的代码:#include #include #include #include #include using namespace std;const int maxn = 1005;int V;int N;struct node{ int v; int w;}n[maxn

2013-03-10 21:54:22 1075

原创 9.2.3(记忆化搜索_硬币问题)

真心好累,诶诶,如果自己不累点也就显示不出自己的价值了,所以还是累点好呀,呵呵.这个记忆化搜索还是不怎么会呢,,用vis好一点,,,不知道,这个写前面的程序可以不可以..一会我看一下,,这里面有一个陷阱就是,,vis[0] 你默认是0就好了,,要不然是求不出来的.代码:#include #include #include #include #include us

2013-03-10 20:53:51 913

原创 9.2.3(递推法_硬币问题)

用递推法求硬币问题, 很经典,,但是自己好困,,想睡觉了- -# 晕死,..贴出代码,等醒来的时候看一下好了#include #include #include #include #define MIN(a, b) (a) < (b) ? a : b#define MAX(a, b) (a) > (b) ? a : busing namespace std;c

2013-03-10 19:48:40 1079

原创 9.2.1(矩形嵌套_最长子序列方法)

原来就是初始化的时候要把所有的d都初始化为1;因为每一个点的,初始化结果就是1;开始的时候没有意识到,,,#include #include #include #include #include #define max(a, b) (a) > (b) ? (a) : (b)using namespace std;const int maxn = 1005;str

2013-03-09 10:50:24 950

原创 9.2.2(矩形嵌套_简单动态规划)

晕死了,,总算找到了自己错在哪里了,,,人家标程用的dp求法是记忆化搜索,,你的那个记忆化虽然是有了,,,但是,你没有一次性将结果用好,也就是你没有一次dp就把结果存过去,看代码吧:#include #include #include #include #define max(a, b) (a) > (b) ? (a) : (b)using namespace

2013-03-09 09:13:00 1323 1

原创 9.2.1(DAG的dp)

晕死,,,反正是对不了..都是自己写代码的风格不行呀,,怎么也写不对了- -#烦死了都,,,不知道是怎么错了..好像和别人写的差不多呀自己的:#include #include #include #include #define max(a, b) (a) > (b) ? (a) : (b)using namespace std;struct node{

2013-03-08 21:46:42 913

原创 9.1.2(简单DP---递推法、记忆化搜素)

基础dp,递推法的有点就是简单,从下到上,依次求得答案,而且不用多次计算已经计算得到的dp,需要注意的就是开始一定要先把最底层算出来,然后从第二层开始地推而记忆化搜索呢,一定要注意的就是开始的时候的赋值,将所有的dp都赋值成-1,而去掉重复计算的方法呢,也就很简单了,就是判断dp是不是负数,如果是负数,说明还没有更新过次结点,就可以计算,如果大于零了,,说明已经计算过了

2013-03-08 20:26:49 1126

原创 8.4.5(区间选点_简单贪心)

和那个选择不相交区间类似呀,,也是先排序,,然后好好的分析.处理好情况就行..贴出代码:#include #include #include #include #include using namespace std;const int maxn = 1111;int n;struct node{ int x; int y;}q[maxn], temp;

2013-03-08 19:43:41 1362 1

原创 8.4.4(选择不相交的区间)

这题目是一道简单的贪心,,发现了一点贪心的规律,贪心,故名思议,那就是一定要当前选择的就是最优的,是动态规划的一种,,这种解决方法就类似于,现实生活中,解决问题的方法一样,第一,你一定要清晰的知道,自己解决的问题,第二,你要能够清晰的分清状况,能够将问题步步分解第三.检查自己是不是漏掉了什么情况简单,贴出代码:#include #include #inclu

2013-03-08 19:28:02 1759 2

原创 8.4.3(乘船问题_简单贪心)

很简单的一个小贪心,贴出代码:#include #include #include #include #include using namespace std;const int maxn = 1111l; int n;int c;int a[maxn];int main(){ while (scanf("%d%d", &n, &c) != EOF

2013-03-08 18:01:32 1660 1

原创 8.4.2(部分背包问题)

很简单的一道题目,,主要是因为题目中的那个最后一句话,价值和重量成正比,所以,才得根据比值来排序的..而且好像不能重载符号,,,诶贴出代码:#include #include #include #include #include using namespace std;const int maxn = 11111;int n;struct node{

2013-03-08 17:31:43 1258

原创 8.4.1(最优装载问题_简单贪心)

很简单的一个贪心方法,,一般是不是贪心都要先排序呀???#include #include #include #include #include using namespace std;const int maxn = 1111;int n;int a[maxn];int main(){ while (scanf("%d", &n) != EOF) {

2013-03-08 16:30:39 1185

原创 8.3.5(最大值最小化_二分查找)

晕死了,,,白写了那么多,也是不会,,,等以后再来解决这个问题吧;现在写也是白写了,,昨天没有写出来,,贴出别人的代码:#include#include#includelong long a[510], n, m;int sep[510], cases;bool p(long long x){ long long sum=0, done=m-1; int i;

2013-03-08 16:19:35 1678

原创 8.4(范围统计)

求[a,b]范围内的数字的个数;崩溃,...直接用STL的upper_bound和lower_bound函数#include #include #include #include #include using namespace std;const int maxn = 11111;int n;int v;int a[maxn];int main(){

2013-03-07 21:08:28 943

原创 8.2.3(二分查找)

晕死,,,这崩溃了=- =要想索引难道还要建个链表么????诶,,,我发现自己要是做的不多的题目的话,,,就不知道个什么思路,#include #include #include #include #include using namespace std;const int maxn = 11111;int n;int a[maxn];

2013-03-07 20:51:20 872

原创 8.2.2(求第k大的数)

求出第k大的数,这个好像我就遇到过,,,原来是用快排弄的,,诶,,好像是快了点,,有的题目用到的思想真是让人捉摸不透呀...贴出代码:#include #include #include #include using namespace std;const int maxn = 11111;int n;int k;int a[maxn];int Sol

2013-03-07 20:14:43 948

原创 HDU-1231(求最大序列和)

都快晕死了,,,本来以为改来改去是改不正确的...没想到居然改正确了,,真心崩溃了- -#0(n)的算法贴出代码:#include #include #include #include //#define max(a, b) (a) > (b) ? a : b using namespace std;int a[11111];int s[11111];in

2013-03-07 13:27:53 875

原创 8.1.1(最大连续和)

记得很早以前就做这个题目都不会,,晕死,,这次终于弄清楚了,,前人的经验是无比的重要且帮助重大的呀!!!贴出代码:#include #include #include #include #define max(a, b) (a) > (b) ? a : b using namespace std;int a[11111];int s[11111];int n;

2013-03-07 10:52:35 1005

原创 8.1.2(最大连续和)

这个比较好.....#include #include #include #include using namespace std;int best;int A[111];int s[111];int n;int max(int a, int b){ return a > b ? a : b;}int Solve(){ s[0] = 0; for

2013-03-06 22:16:49 824

原创 7.5.3-4(八数码问题+hash表)

这个游戏我依然记得小时候玩过呢...呵呵就是那个拼图的呗,,,没想到用计算机也能实现,不过就是真的狠麻烦呢...用到的知识真的是不少,,BFS以前小case的...现在也写不出来了,,,昨天居然还用栈来实现....崩溃了都,,,这个还是实现了,,不过没有写好,,,自己看看,,写的是个什么东西,,,而且效率太低,,,当然 下面还是附上标准的代码吧自己的:#incl

2013-03-06 21:35:13 1699

原创 7.5.2倒水问题(BFS)

这个绝对是个好的题目,我太喜欢了,.,,真棒呢~!这就是体现出来了编程对于生活的影响了,,你看吧,用生活中的思想用程序实现出来,,解决任何问题,,这也许就是最初发明计算机的初衷,就是解决那些费力费时的问题的!!!贴出代码:#include #include #include #include #include #define min(a , b) (a) < (b

2013-03-05 21:50:31 3861

原创 7.4.1八皇后问题(经典回溯法)

这真是不错的算法,主要是运用的思想真是让人称奇呢,用数组的维数来分别表示列数,主对角线,副对角线上是否又Queue真是棒,,,学习了,学习了贴出代码:/*主要的精华就是那个vis函数包含的东西太多了,发现二维函数其实可以干很多东西的.真的是很神奇的,用vis[1][i] 代表的是第cur行的第i列是否已经存在着Queue了,而vis[2][cur + i]就是来判断是不是主对角

2013-03-05 20:01:45 1707

原创 5.1.3(求最小循环节)

就是一个暴力求最小循环节的题目,还是比较简单的吧.贴出代码:#include #include #include #include using namespace std;int main(){ char str[111]; while (scanf("%s", str) != EOF) {// system("pause"); int n = strlen

2013-03-04 21:20:55 826

检测计算机是否可以虚拟化

这是在你安装了虚拟机之后发现自己的电脑不能够正常的装系统,这个时候你就可以看看你的虚拟技术是不是都是开着的

2013-11-05

数据库系统教程课后答案-第三版(施伯乐)

数据库系统教程第三版的课后答案,我做成了pdf版本,仅供大家参考

2013-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除