ACM解题之素矩阵】的更多相关文章

题意: 如果一个矩形的两条边都是素数,则称此矩形为素矩形.本题给出一个素矩形的面积,请计算其两条边的值.有多个测试用例.每个用例占一行,包含一个表示素矩形面积且不超过 108 的正整数.输入直至没有数据为止.对于每个测试用例的素矩形,输出一行两个由小至大排列的整数,分别表示其边长. 解题: 因为题目的输入是个素矩形的面积,所以输入的数肯定只有两种分解(1,面积本身)(素矩形的宽,素矩形的长).所以,我就用了简单粗暴的方法求解,如下: c++/accepted/296k/62ms #include…
Give Me the Number Time Limit: 2 Seconds                                     Memory Limit: 65536 KB                             Numbers in English are written down in the following way (only numbers less than 109 are considered). Number  abc,def,ghi…
题目来源: 点击打开链接 题目翻译: 矩阵乘法问题是动态规划的典型例子. 假设你必须评估一个表达式,如A * B * C * D * E,其中A,B,C,D和E是矩阵.由于矩阵乘法是关联的,乘法运算的次序是任意的.但是,所需的基本乘法的数量很大程度上取决于您选择的评估顺序. 例如,设A是50 * 10矩阵,B是10 * 20矩阵,C是20 * 5矩阵. 计算A * B * C有两种不同的策略,即(A * B)* C和A *(B * C). 第一个需要15000次基本乘法,但第二个只需要3500次…
Rescue The PrincessCrawling in process... Crawling failed   Description Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who wanted to marry  the princess set out immediately.…
题目来源: 点击打开题目 题目翻译: 数据流是实时的,连续的,有序的项目序列.一些例子包括传感器数据,互联网流量,金融代码,在线拍卖以及诸如网络使用日志和电话记录之类的交易日志.同样,对流进行的查询在一段时间内连续运行,并在新数据到达时递增返回新结果.例如,工厂仓库的温度检测系统可以运行如下的查询. 查询-1: 每五分钟,检索过去五分钟内的最高温度 查询-2: 返回过去10分钟内每层测得的平均温度 我们开发了一个名为Argus的数据流管理系统,它处理数据流上的查询.用户可以向Argus注册查询.…
题目来源: 点击打开链接 题目翻译: 消息队列是windows系统的基本基础.对于每个进程,系统都维护一个消息队列.如果这个过程发生某些事情,例如鼠标点击,文本改变,系统会向队列添加一条消息.同时,如果不是空的,该过程将根据优先级值从队列中获取消息.请注意,优先级越低意味着优先级越高.在这个问题中,系统会要求您模拟消息队列,以便将消息放入消息队列并从中获取消息. 输入: 输入中只有一个测试用例.每行是一条命令,"GET"或"PUT",意思是获取消息或放置消息.如果命…
题意: 本题要求计算并输出杨辉三角形的前 68 行. Time Limit:1000MS Memory Limit:65536K 解题: 为了能在规定时间准确输出杨辉三角形的前68行,这里我用了精准的大数相加技巧.(下篇文章,会有大数相加大数相乘的介绍.)因为杨辉三角形每一行(除了第一行)都和上一行有着不一般的联系,某一行的第k个数等于上一行的第k-1个数加上一行的第k个数(k不等于1且k小于该行行数,此行的最后新增的数为1):所以我用了一个数组来存放某一行的数.因为杨辉三角形的对称性,我这里采…
题意: 一个长度为 n 的序列 a1, m2, ..., an-1, an,如果 ai = an-i+1, i = 1, 2, ..., n,则称之为"回文序列".本题对于给定的一个序列,请判断其是否回文序列.有多个测试用例.每个测试用例占两行,第一行是一个正整数 n,表示待测试序列有 n 项.第二行是待测试序列,序列的项以一个空格分隔,但是,如果序列项是字符,则没有分隔的空格.输入直至没有数据为止.对于每个测试用例,输出一行,如果输入序列是回文序列,则输出 YES,否则输出 NO.…
http://219.244.176.199/JudgeOnline/problem.php?id=1215 这是这次微软和百度实习面试的一道题,题目大意就是:有一个n*m的矩阵,已知它每一行都是不严格递增的,而且每一列都是不严格递增.给你一个数k,请你判断k是否存在于矩阵中. 微软面试的时候没有想到很好的做法,后来想了好久,发现就是一个在矩形上的二分.对于一个矩形,我选取中间一列mid列二分,那么能得到一个index,如果a[index][mid]不为k,那么index以上的都小于k,inde…
题目链接:http://219.244.176.199/JudgeOnline/problem.php?id=1214 这是这次微软实习面试的一道题,题目大意就是:有一个n*m的矩阵,已知它每一行都是不严格递增的,而且每一行的任意数都比前一行的任意数大或等于.给你一个数k,请你判断k是否存在于矩阵中. 当时想到的方法是二分第一列,就能确定k位于哪一行,然后二分这一行,得到是否存在k.二分第一列的复杂度是O(logn),二分那一行的复杂度是O(logm),所以总的复杂度是O(logn+logm).…