Programming
文章平均质量分 72
月光下的夜曲
AN ICONOCLAST
展开
-
sicily 1443 Printer Queue
这道题题意如下有一个长度为n的打印任务队列,每个任务有优先级每次从队列头得到一个任务,如果它是剩余任务中优先级最高的,则打印它,否则放到队列尾 问其中某个任务是第几个被打印的。 n ≤100我用list来模拟队列,注意,一定要在每次判断后更新iterator的值,不然会出现指针错误代码详情点击我原创 2014-12-15 17:08:52 · 815 阅读 · 0 评论 -
sicily 1063
DescriptionSeveral surveys indicate that the taller you are, the higher youcan climb the corporate ladder. At TALL Enterprises Inc. this "defacto standard" has been properly formalized: your boss原创 2014-12-15 17:07:13 · 639 阅读 · 0 评论 -
sicily 1156.Binary tree
这道题又让我明白了几个道理(1) 调用memset的头文件是memory.h 而不是 (2)a[100]={1}是没用的,必须用memset对整个数组赋值或者循环赋值(3) 先序遍历树之前,一定要判断左节点或者右节点是否为空,若空的话就不要继续遍历(4) id数组可以作为一个中间映射,来实现把非连续的index映射到连续的index上,方便循环判断废话少说,看代码请点击我!原创 2014-12-15 17:08:55 · 967 阅读 · 0 评论 -
sicily 1198 Substring
解法一:考虑利用sort函数的cmp,bool cmp(const stringa, const stringb)11.{12.return a+b13.}假如,a="b", b="ba",则a+b="bba", b+a="bab",所以,bab应该排在bba的前面。而a+b是大于b+a的,所以cmp返回false,这样就实现了排序。代码见下:代码点我原创 2014-12-15 17:08:44 · 645 阅读 · 0 评论 -
sicily 1020 Big Integer
1020. Big IntegerSample Input232 3 51042 3 5 713Sample Output(0,1,0)(1,1,3,6)我的想法是这样的:用一个char数组来存储这400个数字,求余数的话有个技巧,就是逐个逐个求余,比如,123要对10取余,等价于1=1后,再用1*10+2=12来对10取余,得到2,再将2乘以10原创 2014-12-15 17:08:31 · 594 阅读 · 0 评论 -
中缀表达式转后缀表达式
目的:将中缀表达式(即标准形式的表达式)转换为后缀式。例子:a+b*c+(d*e+f)*g转换成abc*+de*f+g*+ 转换原则:1.当读到一个操作数时,立即将它放到输出中。操作符则不立即输出,放入栈中。遇到左圆括号也推入栈中。2.如果遇到一个右括号,那么就将栈元素弹出,将符号写出直到遇到一个对应的左括号。但是这个左括号只被弹出,并不输出。3.在读到操作符时,如果此时栈原创 2014-12-15 17:07:23 · 742 阅读 · 0 评论 -
关于C++如何读写txt文件
相信大家都知道如何用C++输入,但是你是否知道C++如何从txt文档里面读取数据呢?首先把存有数据的txt文档和cpp文件放在同一目录下。实例:123.cpp和1.txt在同一个文件夹里1.txt里的数据如下:111 222 333 444 555666 777 888 999 1111cpp文件内容如下:#include #include #include原创 2014-12-15 17:06:23 · 1249 阅读 · 0 评论 -
利用归并排序求逆序数对
利用归并排序求逆序数对先推荐一个博客,该博客很好地解释了归并排序http://wangkuiwu.github.io/2014/04/28/merge-sort/1007. Inversion Number题目描述There is a permutation P with n integers from原创 2015-02-23 23:05:20 · 1101 阅读 · 0 评论 -
同步和异步的概念
昨天被问到了同步和异步的概念,当时没有多想,回答的时候就举了个例子,说是比方说以时间序列为基准,同步是一定要到了某个时间点才能执行,异步则在到达那个时间点之前就可以执行,所以二者存在时间上的延迟区别。。。不知道这样打比方妥不妥。 不过后来再看了下网上的说法,如下所示,可以参考参考。感觉最后一点蛮对的,打电话就是同步,发短信是异步。同步阻塞与异步阻塞:同步是阻塞模式,原创 2015-03-07 10:26:23 · 1422 阅读 · 0 评论 -
约瑟夫环的一个简单算法
前些天看到了一个常见的算法题,约瑟夫环问题。 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到k的那个人出列;他的下一个人又从1开始报数,数到k的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。例子: n = 9,k = 5,从1开始报数。【解答】 出局人的顺序为5,1,7,4原创 2014-12-15 17:06:11 · 1769 阅读 · 0 评论 -
sicily 1046 Plane Spotting
这道题的关键是根据优先级比较连续子序列,可以用一个结构体数组存储连续子序列,然后再定义cmp函数(用于稍后的sort函数),再把所有可能的连续子序列存进结构体数组,然后再对这个结构体数组调用sort函数,这样子,经过sort函数排序后的结构体数组的前几个就是满足题意输出的条件了。代码见下代码点我注意,写一个cmp函数跟写一个重载操作符即bool cmp(const period&a, c原创 2014-12-15 17:08:41 · 1024 阅读 · 0 评论 -
sicily 1009 梅森素数
这道题也是坑的一笔,有几点需要切切注意(1) long long temp= pow(2,p) - 1; 求幂之后一定要用long long 来保存,比如,如果直接输出pow(2,31)会出现精度损失,因为系统默认用int来处理(2)分解质因数时,一定要for (i = 2; i*i <= temp;i++)这样写,而不能把判断条件改为iif (temp != 1)fa原创 2014-12-15 17:08:50 · 1593 阅读 · 0 评论 -
sicily 1027 MJ, Nowhere to Hide
1027. MJ, Nowhere to HideSample Input8inkfish 192.168.29.24zhi 192.168.29.235magicpig 192.168.50.170pegasus 192.168.29.235iamcs 202.116.77.131finalBob 192.168.29.24tomek 202.116.77.131mag原创 2014-12-15 17:08:34 · 650 阅读 · 0 评论 -
竖式问题
关于竖式问题,我的C++解法如下:#include #include #include #include using namespace std; string num2str(int i){ stringstream ss; ss return ss.str();}int main(){int abc, de,原创 2014-12-15 17:06:32 · 968 阅读 · 1 评论 -
关于3N+1溢出问题的解决
一个大于1的自然数n,若n为奇数,则变为3n+1,若为偶数,则除以二,最后总能得到2,求变换的次数。初始代码如下:#include #include using namespace std;int main(){int counter = 0;int n;cin >> n;while( n > 1 ){if( n % 2 == 0 )n /= 2;elsen =原创 2014-12-15 17:06:17 · 791 阅读 · 0 评论 -
Sicily 1035 DNA matching
1035. DNA matchingSample Input1035 DNA matching" TITLE="Sicily 1035 DNA matching" /> Copysample input to clipboard23ATCGTAGCTAGG2AATTATTASample Output10题意解析:就是输出匹配的DNA的原创 2014-12-15 17:08:37 · 967 阅读 · 0 评论 -
C++多线程编程入门
原文地址:C++多线程编程入门作者:李美锋ABC第1节 背景 为了更好的理解多线程的概念,先对进程,线程的概念背景做一下简单介绍。早期的计算机系统都只允许一个程序独占系统资源,一次只能执行一个程序。在大型机年代,计算能力是一种宝贵资源。对于资源拥有方来说,最好的生财之道自然是将同一资源同时租售给尽可能多的用户。最理想的情况是垄断全球计算市场。所以不难理解为何当年IBM预测“全球只转载 2014-12-15 17:08:03 · 604 阅读 · 0 评论 -
背包题目
“背包题目”的基本描述是:有一个背包,能盛放的物品总体积为T,设有N件物品,其体积分别为w1,w2,…,wn,希看从N件物品中选择若干物品,所选物品的体积之和恰能放进该背包,即所选物品的体积之和即是T。有两种解法递归和贪心算法,不过递归只能求出一种解,而贪心算法可以求出所有解。1.递归算法#include using namespacestd; con原创 2014-12-15 17:06:59 · 832 阅读 · 0 评论 -
解决g++报错Floating point exception: 8
用g++编译c++程序的时候,出现了报错Floating point exception: 8后来一经测试,发现rand() % 0搞的鬼,对0取模就会这样,所以用%前一定要判断下非0才行。原创 2016-03-12 15:26:32 · 12443 阅读 · 2 评论