摘要: 很优秀的文章但不知哪位大神所写,多谢这位大神!一、初始化输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。或者进入gdb环境后,通过命令file + progfile来加载需要调试的可执行文件文件。查看源代码:list [函数名][行数]设置程序运行参数:set args二、暂停程序gdb可以使用几种方式来暂停程序:断点,观察点,捕捉点,信号,线程停止。当程序被暂停后,可以使用continue、next、step来继续执行程序。 阅读全文
posted @ 2011-09-27 22:40 visayafan 阅读(10088) 评论(0) 推荐(2)
摘要: 1 初始化2 字典视图和几何3 排序字典键3.1 sort:3.2 sorted:3.3 注意4 常用函数4.1 get()4.2 pop()4.3 udpate()4.4 del()4.5 clear()4.6 copy()1初始化>>> d = dict(name='visaya', age=20)>>> d = dict(zip(['name', 'age'], ['visaya', 20]))#dict.fromkeys(listkeys, default=0) 把listkeys中的元 阅读全文
posted @ 2011-09-27 22:40 visayafan 阅读(659) 评论(0) 推荐(0)
摘要: LaTeX的fancyhdr宏包的使用CTEXwiki关于fancyhdr的说明可以在这里找到。在latex中用自定义页眉页脚, 一般都要使用宏包fancy. 关键是琢磨一下下面的例子, 在看看相应的说明, 一般就可以得到你想要的结果了. 下面的内容主要来自CTEX - 在线文档, 例子部分已经修改过来了, 可以直接编译. 在用 LaTeX 排版文章、书籍时,缺省定义了四种页眉页脚的格式: empty没有页眉和页脚plain没有页眉,页脚中部放置页码。headings没有页脚,页眉包含章节的标题和页码。myheadings没有页脚,页眉页码和使用者所定义的信息。article 缺省使用 pl. 阅读全文
posted @ 2011-09-27 22:39 visayafan 阅读(13433) 评论(0) 推荐(0)
摘要: 1题解设m表秤刻度的个数,n表示秤砣的数目。数组p存储挂钩的位置,数组w存储秤砣的质量。d[i][j]存储前i个秤砣平衡度为j的最大组合数(平衡度j>0表示左边重,j<0右边重,j=0平衡)。利用动态规划状态方程思想:d[i][j] += d[i-1][j-p[k]*w[i]]前i个平衡度为j的数目 = 所有前i-1个,平衡度为 j-p[k]*w[i] 的数目(k取1~m)。这样才能取到最大。因为考虑到左右正负数的问题,所以所有j都加7500(20×25×15),此时平衡时j=7500。最后d[n][7500]即为所求。2源代码#include <iost 阅读全文
posted @ 2011-09-27 22:38 visayafan 阅读(442) 评论(0) 推荐(0)
摘要: 1题目 下过中国象棋的朋友都知道,双方的“将”和“帅”相隔遥远,并且它们不能照面。在象棋残局中,许多高手能利用这一规则走出精妙的杀招。假设棋盘上只有“将”和“帅”二子(为了下面叙述方便,我们约定用A 表示“将”,B 表示“帅”) A、B 二子被限制在己方3×3 的格子里运动。例如,在如上的表格里,A 被正方形{d10, f10,d8, f8}包围,而B 被正方形{d3, f3, d1, f1}包围。每一步,A、B 分别可以横向或纵向移动一格,但不能沿对角线移动。另外,A 不能面对B,也就是说,A 和B 不能处于同一纵向直线上(比如A 在d10 的位置,那么B 就不能在d1、d2 以及 阅读全文
posted @ 2011-09-27 22:37 visayafan 阅读(386) 评论(0) 推荐(0)
摘要: 1思路多重背包问题,可以将其化为01背包问题。若用一般方法必TLE(把n个第i种物品看成毫无关联的n个物品,即∑ nii = 1,2…N个物品(N为物品数目))采用二进制思想,把n个第i种物品拆成1,2,4…2k,x个(其中x为不能再拆成2n次方而余下的)这样时间时间复杂度便由原来的θ(V×∑ ni)变为θ(V×∑ log ni)2源码#include <iostream>#include <algorithm> // sort头文件#include <cstring> // memset头文件using namespace std;in 阅读全文
posted @ 2011-09-27 22:37 visayafan 阅读(273) 评论(0) 推荐(0)
摘要: 1题目对一字节的无符号变量,求其二进制表示中1的个数2代码#include <cstdio>#include <iostream>using namespace std;typedef unsigned char byte;//一般解法byte solution1(byte n){ int cnt = 0; while(n){ if(n%2) cnt++; n /= 2; } return cnt;}/* * 1.最后一位是1,则n&(n-1)最后一个1变为0。 * 2.最后一位是0,则n&(n-1)将最后一个1变为0。... 阅读全文
posted @ 2011-09-27 22:36 visayafan 阅读(263) 评论(0) 推荐(0)
摘要: 1思路:f[j](1<=j<=m)数组用来表示j是不是可以达到,现假设可达。b[j](1<=j<=m)数组用在第二层循环中,表示当价值为j时物品i已经用了几个。记录此值的原因:例如已经知道了j=10可以取到,现还有物品A价值2,数目2。不能通过此信息知道12、14可达,因为j=10可达的时候有可能已经把A这两个物品都用过了,所以需要记录此值,当b[10]=2时表明A已经用过2次了,不能再用了,故12、14都不能可达。现假设有一物品价值a[i],数量为c[i],若b[j-a[i]]<c[i]表示i还没有用完,还可以再用。f[j-a[i]] == 1表明j-a[i]可 阅读全文
posted @ 2011-09-27 22:35 visayafan 阅读(224) 评论(0) 推荐(0)
摘要: 1思路题目链接。最小生成树(MST)问题。2代码代码来自宇宙吾心博客。#include <iostream>#include <limits>#include <cstring>using namespace std;const int N=2001;char c[N][8]; // 保存字符串int m[N][N]; // m[i][j]第i个结点与第j个结果之间权值int d[N]; // 遍历时存储最小值bool v[N]; //... 阅读全文
posted @ 2011-09-27 22:33 visayafan 阅读(196) 评论(0) 推荐(0)