学习笔记
文章平均质量分 82
topc0o0der
这个作者很懒,什么都没留下…
展开
-
负数的二进制编码——越是基础的越是要掌握
原码就是原来的表示方法反码是除符号位(最高位)外取反补码=反码+1以前学习二进制编码时,老师讲了一堆堆的什么原码啊反码啊补码啊xxxx转换啊,还有负数的表示方式啊 总是记不零清,终于从网上找到了一种比较好的讲解方式,保存再share一下,不过为了系统化讲解,又找来了一些编码的基础知识,如果只想看负数编码记忆法,请跳转到转载 2010-02-15 13:18:00 · 2908 阅读 · 3 评论 -
HDU 3341
<br />Qinz的题。。。<br />题意: 给定AGTC的数目,求组成的串中能含给定的串最大数目;trick可以有一样的给定串,但是要算两次。题目不严谨呀^_^;<br /> <br />之前自动机只是局限于入门级的题。这回在构建auto时,每个节点的next都有值;这和之前统计的计数不一样了。<br /> <br />看到网上好多dfs,感觉效率不高,其实就是个背包。自动机充当了状态转移的工具。<br /> <br />代码效率不是很高。2900ms。但也不低。。。。。。<br /> <br />代原创 2010-09-21 22:53:00 · 981 阅读 · 0 评论 -
知识点
<br />时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)<br />排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)<br />数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)<br />指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示)<br />按位运算(and,or,xor,shl,shr,一些应用)<br />图论(图论模型的建立,转载 2010-09-19 20:38:00 · 344 阅读 · 0 评论 -
数论读书笔记
定理一与定理二如此相近,但是怎么把他们联系起来呢。一开始看华老的证明理解有误,很是纠结。凡是让我纠结的,有90%的概率是我把作者的意思弄错了。第一个定理是个计数。叫做逐步淘汰原理。华老证明时也是递推来证得的。计数要统计每次出现的次数。什么时候要用呢?你不知道每个元素的性质。但是你知道的是含有性质组合的集合元素的个数。定理二一开始看没看出是个计数问题,或者能转为计数问题。问题转换很巧妙的。问题一转换,就把成沙子的问题垒成一堆一堆了。Max(a,b,...k,l)怎么就成了个计数单位呢?华老牛呀,一句话点破了,原创 2010-08-12 18:09:00 · 494 阅读 · 0 评论 -
四边形不等式 hdu
<br />四边形不等式是一种比较常见的优化动态规划的方法:<br /> <br />设m[i,j]表示动态规划的状态量。<br />m[i,j]有类似如下的状态转移方程:<br />m[i,j]=opt{m[i,k]+m[k,j]}(i≤k≤j)<br />如果对于任意的a≤b≤c≤d,有m[a,c]+m[b,d]≤m[a,d]+m[b,c],那么m[i,j]满足四边形不等式。<br />以上是适用这种优化方法的必要条件<br />对于一道具体的题目,我们首先要证明它满足这个条件,一般来说用数学归纳法证明原创 2010-08-12 00:19:00 · 542 阅读 · 0 评论 -
树状数组的一些认识
<br /> <br /> int lowbit(int x){ return x&(x^(x–1));<br /> }<br /> 这个函数的值为2的k次方。形象的就是把二进制的最后一个1和后面的0都拿出来。<br /> 有了形象的感知,函数也就很好理解了。要是把最后一个1和零拿出来,我们先x-1,原先a100...0就变成了a011...1.a异或a为0,所以二进制就变为了000111...1。<br /> 构造线段树的规则的理解,可以从二进制中1的个数来理解。百度百原创 2010-08-05 23:32:00 · 380 阅读 · 0 评论 -
一些输入输出的问题
综述看一下输入操作的原理,程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin等输入输出函数直接从输入缓冲区中取数据。正因为cin等输入输出函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。--------------- 第一: 要注转载 2010-05-30 00:06:00 · 592 阅读 · 0 评论 -
位操作技巧
检测一个无符号数是不为2^n-1(^为幂): x&(x+1) 将最右侧0位改为1位: x | (x+1) 二进制补码运算公式: -x = ~x + 1 = ~(x-1) ~x = -x-1 -(~x) = x+1 ~(-x) = x-1 x+y =转载 2010-05-19 07:22:00 · 346 阅读 · 0 评论 -
用set实现的极大团
#include #include #include using namespace std;#define MAXN 128int cnt,n,m;set N[MAXN+1];void BK(set R, set P, set X){ if(cnt>1000) return; if(P.empty()&&X.empty()) {原创 2010-05-15 15:42:00 · 598 阅读 · 0 评论 -
做个笔记 freopen
每当做ACM题目的时候都是写好程序然后运行,输入题目中所给的测试数据,但是调试往往不 是一次两次就能解决问题的。一般的题目还行。遇到像 Web Navigator 这样的有大量的输入的题目 就头痛了。而freopen函数就提供了一种非常简单的解决方法。 函数名:freopen 声明:FILE *freopen( const char *path, const ch转载 2010-05-11 23:13:00 · 379 阅读 · 0 评论 -
sort 用法
声明:此用法是从某大牛的程序中看到的,其实偶只是拿来用,不知所以然,飘走~~~~~MSDN中的定义:template void sort(RanIt first, RanIt last); //--> 1)template void sort(RanIt first, RanIt last, Pred pr); //--> 2)头文件:#include using namesp转载 2010-02-23 21:40:00 · 692 阅读 · 0 评论 -
dp学习笔记
动态规划目录[<a id="dir_alt" onclick="function onclick(){mEffect.showCatalog()}" href="javascript:void(0)">隐藏]概念及意义 基本模型 记忆化搜索 状态 决策 动态规划算法的应用 动态规划练习题 《Dynamic Programming》 是信息学竞赛中选手必转载 2010-02-23 14:51:00 · 576 阅读 · 0 评论 -
转载:farey(法莱)数列
载自: http://blog.csdn.net/bao110908/archive/2007/11/28/1905328.aspx 分数有不少有趣的特性,就连普通的分数也有不少有趣的东西。也许你回想得起,算术里头的普通分数是指分母、分子均为整数的那样一种分数。当分母大于分子时,该分数称为真分数。如果指定一个分母的上限,再把各普通分数(以最简分数形式出现)按从小到大的次序排列,譬转载 2010-02-16 23:22:00 · 1007 阅读 · 0 评论 -
整数行列式计算 高斯方法 无精度损失
<br />没用double,用的分数表示。不能算太大的。<br /> <br />#include <iostream><br />#include <cstring><br />#include <cstdio><br />#include <cmath><br />#define MAXN 50<br />#define MOD 1000000007<br />using namespace std;<br />struct mat{<br /> int size;<br />原创 2010-09-29 23:08:00 · 639 阅读 · 0 评论