2013年9月5日

给一个int型整数,如何将这个整数的奇偶位互换

摘要: 题目: 假设一个8为整数是(10101100)b那么奇偶互换之后就是(01011100)b。假设机器是32位的注意: 8位中最低位开始数,最低位是第0位,是偶数为,次低位时第1位,是偶数位。 做法: ((a>>1)&0x5555555) | ((a>1,所有的bit都右移一位,相当于奇数位的bit到了偶数位,然后和0x5555555做与操作,相当于只留下了偶数位,也就是原来的奇数位。例如 11111010 >>1 => 01111101 & 0x55 => 01010101 a 11110100 & 0xaa => 101 阅读全文

posted @ 2013-09-05 19:41 新一 阅读(561) 评论(0) 推荐(0)

30款基本UX工具 - 思维流程工具 & 原型工具

摘要: 来源:GBin1.com 现在的开发人员在建造网站时,注重的是布局和技术特性,但是往往忽略了更重要的一点,那就是用户体验。如 果用户在使用的时候,不能简单清楚的知道该要如何操作,那么他们一定会选择另一个操作简单,浅显易懂的网站或者应用,绝不会在回到这个复杂难解的应用上 来。一个令人舒服的用户体验,从另一个方面而言,可以让你的网站变得讨喜且令人印象深刻,这样一来,就比其他同类网站赢了一大截。这就是为 什么考虑用户体验是那么的重要了。你需要问问你自己:你的页面上提供了用户期望看到的全部信息了么?当页面上有很多内容时,一些小细节就会在用户体验上创 造巨大的不同。在这一系列中,我会依序,按照功能分类. 阅读全文

posted @ 2013-09-05 19:39 新一 阅读(302) 评论(0) 推荐(0)

关于使用STL常见的两个bug

摘要: 1、bug 1class CTest{public : vector getVector() const //需要写成引用形式,不然下面begin、end调用会以拷贝形式调用 { return m_vec; } void push(int rValue) { m_vec.push_back(rValue); } private: vector m_vec;};void Test(){ CTest a; for(int i=0;i::iterator iBegin = a.getVector().begin(); vector::iterator iEnd = a.... 阅读全文

posted @ 2013-09-05 19:37 新一 阅读(367) 评论(0) 推荐(0)

期望dp-hdu-4336-Card Collector

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336题目大意:有n种卡片,每包中至多有一种卡片,概率分别为p1,p2,...pn,可能有的没有卡片,求包数的期望,使得每种卡片都有。解题思路:由于n最多只有20,可以进行状态压缩。dp[i]表示在状态i获得的卡片的情况下,得到最后结果所需的包数期望。则dp[i]=no*(dp[i]+1)+∑pp[j]*(dp[i]+1)+∑pp[k]*(dp[i|(1#includeusing namespace std;double dp[1=0;i--) { dp[i]=1... 阅读全文

posted @ 2013-09-05 19:34 新一 阅读(146) 评论(0) 推荐(0)

SICP 习题 (1.9) 解题总结

摘要: SICP 习题 1.9 开始针对“迭代计算过程”和“递归计算过程”,有关迭代计算过程和递归计算过程的内容在书中的1.2.1节有详细讨论,要完成习题1.9,必须完全吃透1.2.1节的内容,不然的话,即使从网上找来答案看也不能理解其中的真谛。书中1.2.1节是通过阶乘作为样例来讲解的,可能是因为作者们都是一些天才,所以他们都很喜欢使用数学样例,作为凡人的我们要理解他们在讲什么就需要先理解数学,真的是比较痛苦。当然,阶乘还算不难啦,看完样例后要理解“迭代计算过程”和“递归计算过程”才是比较麻烦的事情。首先我们先要明白,“递归计算过程”和“递归过程”不是一回事。递归过程(或者叫递归函数比较容易区分)是 阅读全文

posted @ 2013-09-05 19:32 新一 阅读(245) 评论(0) 推荐(0)

VC调试笔记

摘要: 1、windows-32调试: ①使用map文件根据崩溃地址寻找对应的源代码文件和行号 勾选project->settings->link->General mapfile,对应的Project Options中添加:/MAPINFO:LINES /MAPINFO:EXPORTS 。 在不使用优化且没有多dll引用导致的重定向时,崩溃地址寻找对应的代码行的方法:崩溃地址=装载机地址(0x10000000)+PE头文件大小(0x00001000)+RVA值,这个RVA值在生成的map文件中形如“ Line numbers for .\Debug\KillerDLL.obj(C: 阅读全文

posted @ 2013-09-05 19:29 新一 阅读(190) 评论(0) 推荐(0)

POJ 1469 ZOJ1140 二分匹配裸题

摘要: 很裸,左点阵n,右点阵m 问最大匹配是否为n#include #include #include using namespace std;vector edge[103];int pre[303];bool vis[303];int n, m;bool dfs(int u) { for(int i = 0; i < (int)edge[u].size(); i++) { int v = edge[u][i]; if(vis[v]) continue; vis[v] = 1; if(pre[v] == -1 || dfs(pre[v])) { pre[v] = u; retur... 阅读全文

posted @ 2013-09-05 19:27 新一 阅读(208) 评论(0) 推荐(0)

FZU-1926+KMP

摘要: 题意:给定一篇文章和一些句子。询问句子是否在文章中出现。kmp模板题/*kmp*/#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long int64;//typedef __int64 int64;typedef pair PII;#define MP(a,b) make_pair((a),(b)) const int maxn = 1005;const int maxm = 105;const int inf = 阅读全文

posted @ 2013-09-05 19:25 新一 阅读(156) 评论(0) 推荐(0)

NPOI之使用EXCEL模板创建报表

摘要: 因为项目中要用到服务器端创建EXCEL模板 无法直接调用EXCEL 查了下发现NPOI很方便很简单就实现了其中走了点弯路 第一次弄的时候发现输出的值是文本不是数字型无法直接计算公式 然后又发现打开报表公式没有自动计算 后来都解决了 详见代码 #region 报表处理 using (FileStream file = new FileStream(@"C:\Inetpub\wwwroot\ClientBin\RptBasic\Rpt_mrp_DepInOut.xls", FileMode.Open, FileAccess.Read)) ... 阅读全文

posted @ 2013-09-05 19:22 新一 阅读(727) 评论(0) 推荐(0)

找与一个数二进制表示1的个数相同的相邻的两个数

摘要: 所谓相邻,就是说所有这样的书排序好之后相邻,也就是满足条件的大于它的最小的数和满足条件的小于他的最大的数 大于它的最小的数: 从右往左,找到第一个右边有1的0, 将0,1互换,最后将这个位置后面的1全部挪到最后面 11001100->11010100->11010001 小于它的最大的数: 从右往左,找到第一个右边有0的1, 将0,1互换,然后再将这个位置右边所有的1尽可能的忘左移动 110011->101011->101110 阅读全文

posted @ 2013-09-05 19:20 新一 阅读(239) 评论(0) 推荐(0)

Hook linux 网络封包

摘要: 要注册一个hook函数需要用到nf_register_hook()或者nf_register_hooks()系统API和一个struct nf_hook_ops{}类型的结构体对象一个简单的demo,基于CentOS 6.3,内核版本:linux-2.6.32-279.el6myHook.c:#include #include #include #include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");MODULE_AUTHOR("ZH 阅读全文

posted @ 2013-09-05 19:18 新一 阅读(956) 评论(0) 推荐(0)

使用ant自动编译、打包生成apk文件

摘要: 上次使用命令行生成apk文件《Android 命令行编译、打包生成apk文件》,学习命令行生成的目的是为了编写ant打下基础。 一、 ant环境下载ant包,配置环境变量 二、ant编译Android项目 1. 生成R文件 2. Java代码生成class文件 3. class文件生成dex文件 4. 打包资源 5. 生成apk 6 . 签名apk 1. aapt命令, 生成R文件 [plain] view plain copy print ? ... 阅读全文

posted @ 2013-09-05 19:16 新一 阅读(512) 评论(0) 推荐(0)

Analyzing the Analyzers 分析分析师 —— 数据科学部门如何建

摘要: 很多牛逼的公司都宣称在建立数据科学部门,这个部门该如何组建,大家都在摸石头过河。O‘reilly Strata今年 六月份发布了报告 《Analyzing the Analyzers》,比较清晰的阐述了数据科学部门所需要的不同角色及其技能。重点内容翻译如下:数据科学家的分类研究方法自我认识请被调查者用常用的5级标准(从完全同意到完全不同意)来回答 “我觉得自己是一个XX” 这样的问题,能够获得数据科学家的自我认识结果。调查结果将数据科学家分为以下四类:Data Businesspeople、Data Creatives、Data Developer、Data Researchers。 技能需求 阅读全文

posted @ 2013-09-05 19:14 新一 阅读(202) 评论(0) 推荐(0)

[每日一题] 11gOCP 1z0-052 :2013-09-4 block header grows............................................A33

摘要: 转载请注明出处:http://write.blog.csdn.net/postedit/11100311 正确答案是:AD要理解这道题就要去了解数据块的结构。引用OCPPPT中的一幅图: 从这幅图中可以看出数据块的数据增长(grow)由上往下增长和由下到往上增长的:1、由上往下增长是其实是ITL事务槽的事务增加。在oracle 10g之后默认初始化在创建表时ITL事务槽是2个。这个事务槽的范围是:1-255.就是说最大可以到255个ITL事务槽,什么时间事务槽才会增长呢,当一个数块中的数据在做并行的DML操作时,会申请好多ITL事务槽,所用的空间应该会有PCTFREE这个参数所预留的这空间中. 阅读全文

posted @ 2013-09-05 19:11 新一 阅读(176) 评论(0) 推荐(0)

飘逸的python - 解决一个有限制的组合需求

摘要: 假设有一个团队技能的需求。 这类技能是要集齐所有指定的人就能激活。 但是因为同一个人又2种身份存在,比如杨戬/神杨戬,于是便产生了组合。 这种组合跟普通组合不一样,普通组合可以随意组合。而这种组合是每个人都必须选,遇2选1。 比如['杨戬/神杨戬','猪八戒']可组合成 ['杨戬','猪八戒'] ['神杨戬','猪八戒'] 但不能组合成['杨戬','神杨戬']. 思路: 只有1种身份的人不会产生组合,是固定的,所以分开处理。 将对人的2选1组合转换二进制0和1的组合。 阅读全文

posted @ 2013-09-05 19:09 新一 阅读(200) 评论(0) 推荐(0)

(2)入门指南——(3)为什么jquery工作的很好(Why jQuery works well)

摘要: With the resurgence of interest in dynamic HTML comes a proliferation of JavaScriptframeworks. Some are specialized, focusing on just one or two of the above tasks.Others attempt to catalog every possible behavior and animation, and serve theseall up pre-packaged. To maintain the wide range of featu 阅读全文

posted @ 2013-09-05 19:07 新一 阅读(191) 评论(0) 推荐(0)

Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表)

摘要: Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表) SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================CREATE FUNCTION csj_csj(@id as int)RETURNS @temp table --这里返回一个自己创建的表,里面的字段根据自己的需要设( [id] int, [zd] varchar(100), [xl] varchar(100))ASBEG... 阅读全文

posted @ 2013-09-05 19:04 新一 阅读(532) 评论(0) 推荐(0)

Linux入门基础 #8:Linux拓展权限

摘要: 本文出自 http://blog.csdn.net/shuangde800 --------------------------------------------------------------------------------- 默认权限 每一个终端都拥有一个umask属性,来确定新建文件和文件夹的默认权限 umask使用数字权限方式来表示,如022目录的默认权限是:777-umask文件的默认权限是:666-umask一般,普通用户的默认umask是002,root用户的默认umask是022也就是说,对于普通用户来说: 新建文件的权限... 阅读全文

posted @ 2013-09-05 19:02 新一 阅读(207) 评论(0) 推荐(0)

《数字图像处理》冈萨雷斯学习笔记3:频域处理

摘要: 频率域图像增强用傅里叶变换表示的函数特征可以完全通过傅里叶反变换进行重建而不丢失任何信息。吉布斯现象Gibbs phenomenon(又叫吉布斯效应):将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。这种现象称为吉布斯现象。 一、傅里叶变换l = fft2(x); %快速傅里叶变换l = fft2(x,m,n); x为输入图像;m和n分别用于将x的第一和第二维规整到指定的长度。当m和n均为2的... 阅读全文

posted @ 2013-09-05 18:59 新一 阅读(1150) 评论(0) 推荐(1)

0..n去掉一个数,给你剩下的数,找出去掉的那个数

摘要: 转载请注明转自blog.csdn.net/souldak , 微博@evagle 首先,考虑没有去掉那些数,如果n是奇数,n+1个最低位肯定是0101...01,count(0)=count(1),如果n是偶数,0101...010那么0要比1多一个,count(0)=count(1)+1例子n=40=00 1=01 2=10 3=11 4=100,最低位有3个02个1,所以规律是,如果没有去掉一个数时,count(0)=count(1)+[0,1], 如果去掉的数最低位是0,即count(0)-1,那么count(1)>=count(0).如果去掉的是1,count(1)-1,那么co 阅读全文

posted @ 2013-09-05 18:57 新一 阅读(495) 评论(0) 推荐(0)

导航