![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 59
xiangyong58
海外Top高校博士,主要研究高效轻量化Deep-Neural-Network模型设计、压缩和可解释性,应用领域为计算机视觉、普适计算。研究项目经历:基于特定Chip的高性能DNN模型开发【AI Chip】、障碍物规避【自动驾驶应用场景】、时空大数据可视化分析【智慧交通】、数据挖掘【智慧城市领域】。
博客内容主要为“科研&学习笔记”。
展开
-
ACM 题目:给定一个整数num,判断这个整数是否是2的N次方
题目:给定一个整数num,判断这个整数是否是2的N次方。比如,2,4,8是2的那次方,6,10不是2的N次方。请看下面的程序:01 publicstaticbool Check1(intnum)02 {03 inti =1;04 while(true)05 {06 if(i > num)07 ...原创 2019-12-20 14:59:25 · 470 阅读 · 0 评论 -
深入浅出大数阶乘
深入浅出大数阶乘大数阶乘的计算是一个有趣的话题,从中学生到大学教授,许多人都投入到这个问题的探索和研究之中,并发表了他们自己的研究成果。如果你用阶乘作关键字在google上搜索,会找到许多此类文章,另外,如果你使用google学术搜索,也能找到一些计算大数阶乘的学术论文。但这些文章和论文的深度有限,并没有给出一个高速的算法和程序菜鸟篇程序1,一个最直接的计算阶乘的程序...原创 2019-12-20 14:53:05 · 1643 阅读 · 0 评论 -
编程中无穷大常量的设定技巧(ox3f3f3f3f)
2012-11-23 12:58:54分类:C/C++编程中无穷大常量的设定技巧Posted on2012 年 11 月 21 日byAikilis如 果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求原创 2014-05-03 17:22:50 · 8224 阅读 · 3 评论 -
NDCG Normalized discounted cumulative gain 理解分析
NDCG(Normalized discounted cumulative gain):是用来衡量排序质量的指标。 其中一种计算公式如下: 先从理解CG,DCG入手。CG(cumulative gain),累积获得,指的是网页gain的累加。例如: 其是个不断累加的值,gain可以使自己定义的一种获得,用来衡量网页的相关性程度,上转载 2016-04-16 08:46:39 · 8760 阅读 · 0 评论 -
hdu 1159 Common Subsequence
可输入字符串时也是一个小技巧,还有注意第一个图片红字部分,这是思考的出发点,也是DP这样的题的一个共同的思考起点。#include#includeusing namespace std;#define m 1005#define max(a,b) (a > b ? a:b)int f[m][m];char strX[m],strY[m];int ma原创 2013-09-03 16:38:47 · 525 阅读 · 0 评论 -
最少拦截系统hdu1275
DP题,刚开始不太周全想法:刚开始想,刚开始只有一个数组 ,并且只放第一个高度,然后只要后面输入的比数组中的大,就将这个大的数,放到另一个数组中;比数组中的数小就将其放进数组中。这样想数组会不确定的多,再加上想想后面都没法做,写出代码出错,而且该也很费劲。从网上看到一个想法,思想一样,只不过,他的更加精确,而且周全,简单: 只用一个数组,数组中的元素记录每个系统中最低的高度。这样依次循环,最原创 2013-08-31 10:18:30 · 697 阅读 · 0 评论 -
hdu1176免费馅饼 dp
dp问题,问题的关键在于画出图形(结构图,坐标图)分析,最后发现是数塔类问题。分析过程如图#includeusing namespace std;#define max(a , b) (a>b ? a:b)int dp[100010][20];int f[100010][20];int main(){freopen("input.txt", "r",原创 2013-08-24 09:47:43 · 628 阅读 · 0 评论 -
hdu2084 dp数塔
从最底层开始考虑,并且运用另外一个数组(dp[i][j])保存动态过程中的每一个节点的变化;主要在于分析过程,而对于最后的代码,很容易就搞定了。当用define 宏定义时,当定义的对象可能会用到算式运算时,一定要注意将宏定义的对象(式子)用括号括起来。原因与define宏定义有关。#includeusing namespace std;#define max(a,b) (a>b原创 2013-08-23 11:08:25 · 640 阅读 · 0 评论 -
hdu1203
dp问题:找出状态方程 dp[j] = min(dp[j], dp[j - c[i]] *( 1 - w[i])); 是0 1 背包为题的一个变形体;注意每循环一次都要对dp[]数组进行初始化。#includeusing namespace std;#define Min(a,b) a int main(){freopen("input.txt","r",stdin);原创 2013-08-22 11:24:58 · 1054 阅读 · 0 评论 -
数塔 2084
DP 从下往上动态的决策再由决策来改变上一层的状态(刚开始没有确定从何下手,初始状态的确定,目标状态)#includeusing namespace std;#define max(a , b) a>b?a:b int rem[110][110];int main(){freopen("input.txt","r",stdin); int原创 2013-08-08 11:20:20 · 615 阅读 · 0 评论 -
约瑟夫问题(Josephus_problem) 终极解析
hdu2925 poj 2244 HDU 2211约瑟夫问题数学解法首先看一看最原始的约瑟夫问题:1 约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些原创 2014-03-05 21:04:46 · 8522 阅读 · 0 评论 -
memcpy() -- 拷贝内存内容
memcpy() -- 拷贝内存内容相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy()表头文件: #include 定义函数: void *memcpy(void *dest, const void *src, size_t n)函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指转载 2013-09-15 16:10:23 · 750 阅读 · 0 评论 -
模线性方程ax≡b(mod n) (再结合 程序理解)
推论1: 方程ax≡b(mod n)对于未知量x有解,当且仅当gcd(a,n) | b (b能被gcd(a,b)整除)。即:若gcd(a,n)|b ==> 有一个解x,使得ax≡b(mod n). 推论2:方程ax≡b(mod n)或者对模n有d个不同的解(有解当且仅当d | b),其中d=gcd(a,n),或者无解。 定理1:设d=gcd(a,n),假定对整数x'和y'满足d转载 2012-08-13 16:12:07 · 7445 阅读 · 0 评论 -
快速排序法 解析
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大转载 2012-08-24 20:13:45 · 639 阅读 · 0 评论 -
埃拉托斯特尼筛法
http://zh.wikipedia.org/wiki/%E5%9F%83%E6%8B%89%E6%89%98%E6%96%AF%E7%89%B9%E5%B0%BC%E7%AD%9B%E6%B3%95这里解释的很清晰原创 2012-08-28 17:21:42 · 2033 阅读 · 0 评论 -
杭电ACM题型分类
第一篇 1001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最近点对问题,用分治 1008 简单题 1009 贪心 1010 搜索题,剪枝很关键 1011 1012 简单题 1013 简单题转载 2012-10-07 10:46:11 · 670 阅读 · 0 评论 -
第三届蓝桥杯复赛题解析
第三届蓝桥杯复赛题解析第三届蓝桥杯复赛题原题:http://www.cnblogs.com/AkQuan/archive/2012/04/10/2440370.html第一题: 1 #include 2 int main() 3 { 4 long int X=10, Y=90; 5 for(int k=1; k120; k++)//半分钟一个单位转载 2013-03-12 12:22:45 · 2737 阅读 · 0 评论 -
第三届蓝桥杯复赛原题
第三届蓝桥杯复赛原题第一题:微生物增殖假设有两种微生物 X 和 YX出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90 呢?本题的要求就是写出这两种初始条件下,60分转载 2013-03-12 12:23:41 · 911 阅读 · 0 评论 -
BFS DFS
BFS的思想:从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1、V2、……Vn,然后依次访问与V1、V2……Vn相邻且未被访问的顶点。如此继续,找到所要找的顶点或者遍历完整个图。由此可以看出,用BFS进行搜索所搜索的顶点都是按深度进行扩展的,先找到到V0距离为1的所有顶点,然后找到距离V0为2的顶点……所以BFS所搜索到的都是最短的路径。由于要将距离V0为d(d原创 2013-03-02 19:03:33 · 539 阅读 · 0 评论 -
如何判断一个数是否为2的N次方
题目:给定一个整数num,判断这个整数是否是2的N次方。比如,2,4,8是2的那次方,6,10不是2的N次方。请看下面的程序:public static bool Check1(int num){ int i = 1; while (true) { if (i > num) return翻译 2013-03-14 18:16:03 · 10466 阅读 · 0 评论 -
动态规划算法求解硬币找零问题(Java)
动态规划算法求解硬币找零问题(Java)动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,并将这些子问题的解保存起来,如果以后在求解较大子问题的时候需要用到这些子问题的解,就可以直接取出这些已经计算过的解而免去重复运算。保存子问题的解可以使用填表方式,例如保存在数组中。用一个实际例子来体现动态规划的算法思想——硬币找零问题。硬币找零问题描述:现存转载 2013-07-19 14:23:29 · 1125 阅读 · 0 评论 -
ACM试题分类
第一篇1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 经典问题,最近点对问题,用分治1008 简单题1009 贪心1010 搜索题,剪枝很关键1011 1012 简单题1013 简单题(有个小陷阱)1014 简转载 2012-08-11 08:51:04 · 653 阅读 · 0 评论