- 博客(42)
- 收藏
- 关注
原创 丑数
我们把只包含因子2、3和5的数称为丑数(Ugly Number)。求按从小到大的顺序的第N(如1500)个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。
2014-10-12 23:02:35 468
转载 sizeof()那点儿事儿
测试代码都是在VC++ 6.0和32位操作系统下做的测试,参考《C++国际标准1998》和《inside the c++ object model》。 一,由sizeof()函数引发的故事: 用sizeof()来计算一个空类的大小,代码如下:[cpp] view plaincopyclass ClassSize
2014-10-12 21:16:32 452
转载 进程间数据通信方式和特点
根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信和大批数据信息的通信.前者称为低级通信,后者称为高级通信。低级通信主要用于进程之间的同步、互斥、终止、挂起等等控制信息的传递。高级通信主要用于进程间数据块的交换和共享 常见的高级通信有管道(PIPE)、消息队列(MESSAGE)、共享内存(SHARED MEM0RY)等。 这里主要比较一
2014-09-20 11:48:33 553
原创 NYOJ-120 校园网络
校园网络时间限制:3000 ms | 内存限制:65535 KB难度:5描述南阳理工学院共有M个系,分别编号1~M,其中各个系之间达成有一定的协议,如果某系有新软件可用时,该系将允许一些其它的系复制并使用该软件。但该允许关系是单向的,即:A系允许B系使用A的软件时,B未必一定允许A使用B的软件。现在,请你写一个程序,根据各个系之间达成的协议情况,
2014-04-24 11:12:16 131
原创 NYOJ-115 城市平乱 SPFA
城市平乱时间限制:1000 ms | 内存限制:65535 KB难度:4描述南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱。现在已知在任意两个城市之间
2014-04-22 10:54:19 474
原创 NYOJ-38 布线问题 最小生成树
布线问题时间限制:1000 ms | 内存限制:65535 KB难度:4描述南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1、把所有的楼都供上电。2、所用电线花费最少输入第一行是一个整数n表示有n组测试数据。(n每组测试数据的第一行是两个整数v,e.v表示学校里楼的总个数(v随后
2014-04-21 10:18:22 510
原创 NYOJ-99 单词拼接 欧拉路径(回路)
单词拼接时间限制:3000 ms | 内存限制:65535 KB难度:5描述给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母相同。如alohadogarachnidgophertigerrat 可以拼接成:aloha.ara
2014-04-19 12:44:30 543
原创 NYOJ-104 最大和
最大和时间限制:1000 ms | 内存限制:65535 KB难度:5描述给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。 例子:0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩阵为:9
2014-04-19 10:08:39 402
原创 NYOJ-61 传纸条(一) 双线动态规划
传纸条(一)时间限制:2000 ms | 内存限制:65535 KB难度:5描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,
2014-04-16 13:37:03 784
原创 NYOJ-17 单调递增最长子序列 两种方法(动态规划,贪心+二分查找)
单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklm
2014-04-15 11:52:33 754
原创 NYOJ-16 矩形嵌套 动态规划
矩形嵌套时间限制:3000 ms | 内存限制:65535 KB难度:4描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩
2014-04-15 10:40:11 428
转载 动态规划:最长上升子序列
问题描述一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最长上升子序列的长度。 解题思路如何把这个问题分解成子问题呢?经过分析,发现 “求以ak(k=1, 2, 3…N)为终点的最长上升子序列的长度”是个好的子问题――这里把一个上升子序列中最右边的那个数,称为该子序列的“终点”。虽然这个子问题和原问题形式上并不完全一样,但是只
2014-04-15 10:05:09 461
原创 NYOJ-15 括号匹配(二) 动态规划 递归
括号匹配(二)时间限制:1000 ms | 内存限制:65535 KB难度:6描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N每组测试数
2014-04-14 17:59:30 528
转载 const在C和C++中的区别
const在C,尤其是C++,是个老生常谈的问题,但这里不谈const具体有哪些特性,如何使用,而是说说const在C和C++中的区别。编译器,C使用gcc,C++使用g++,其它编译器(cl等)请自行验证。 在我的印象中,const就是常量(constant)。但这并不是真的。在C中,const仅仅表示其所修饰对象不可修改。常量和所谓“不可修改”有什么区别呢?C中,const int N
2014-04-12 22:33:27 508
转载 TCP的流量控制与拥塞控制
一、TCP的流量控制1、利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是rwnd = 400”(这里的rwnd表示re
2014-04-12 10:56:06 677
转载 malloc/free和new/delete的区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强
2014-04-12 10:04:57 420
转载 如何用最少的比较次数找出一个数列的最大和最小值
转自:http://blog.csdn.net/sqlxx/article/details/7422381当我们需要找出一个数列中的最大值或者最小值的时候,至少需要n-1次比较。如果我们同时需要找到最大值和最小值,最常见的做法就是对每个元素,分别和最大值和最小值都比一下,这样每个元素都需要2次的比较。但这里其实是可以优化的,如果我们同时取出数列中的两个元素,先让他们自己比较一下,然后把
2014-04-11 23:07:09 1832
原创 NYOJ-36 最长公共子序列 动态规划
最长公共子序列时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合
2014-04-10 22:27:06 355
原创 NYOJ-129 树的判定 并查集
树的判定时间限制:1000 ms | 内存限制:65535 KB难度:4描述A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edge
2014-04-09 18:11:46 443
原创 NYOJ-119 士兵杀敌(三) KMQ
士兵杀敌(三)时间限制:2000 ms | 内存限制:65535 KB难度:5描述南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。所以,南将军经常问军师小工第i号士兵到第j号
2014-04-09 13:04:07 483
原创 NYOJ-117 求逆序数(树状数组或归并排序)
求逆序数时间限制:2000 ms | 内存限制:65535 KB难度:5描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。输入第一行输入一个
2014-04-08 20:41:56 475
原创 NYOJ-116 士兵杀敌(二)树状数组
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。
2014-04-08 12:41:05 423
原创 NYOJ-722 数独
数独时间限制:1000 ms | 内存限制:65535 KB难度:4描述 数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个3*3宫内的数字均含1-9,不重复。 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。
2014-04-08 10:30:03 515
原创 NYOJ-35 表达式求值
表达式求值时间限制:3000 ms | 内存限制:65535 KB难度:4描述ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数)输入第一行输入一个整数n,共有n组测试数
2014-04-08 10:23:19 379
原创 NYOJ-92 图像有用区域 BFS
图像有用区域时间限制:3000 ms | 内存限制:65535 KB难度:4描述“ACKing”同学以前做一个图像处理的项目时,遇到了一个问题,他需要摘取出图片中某个黑色线圏成的区域以内的图片,现在请你来帮助他完成第一步,把黑色线圏外的区域全部变为黑色。 图1
2014-04-07 17:53:32 363
原创 NYOJ-58 最少步数 DFS
最少步数时间限制:3000 ms | 内存限制:65535 KB难度:4描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1
2014-04-07 16:59:54 404
原创 NYOJ-293 Sticks DFS+剪枝
Sticks时间限制:3000 ms | 内存限制:65535 KB难度:5描述George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to t
2014-04-07 16:09:37 389
原创 NYOJ-43 24 Point game
24 Point game时间限制:3000 ms | 内存限制:65535 KB难度:5描述There is a game which is called 24 Point game.In this game , you will be given some numbers. Your task is to find an expressi
2014-04-07 12:30:24 904
原创 NYOJ-42 一笔画问题
一笔画问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述zyc从小就比较喜欢玩一些小游戏,其中就包括画一笔画,他想请你帮他写一个程序,判断一个图是否能够用一笔画下来。规定,所有的边都只能画一次,不能重复画。 输入第一行只有一个正整数N(N每组测试数据的第一行有两个正整数P,Q(P随后的Q行,每行有
2014-04-06 22:15:12 462
原创 NYOJ-20 吝啬的国度
吝啬的国度时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1每组测试数据
2014-04-06 17:07:10 381
原创 NYOJ-586 疯牛 二分枚举+贪心
疯牛时间限制:1000 ms | 内存限制:65535 KB难度:4描述农夫 John 建造了一座很长的畜栏,它包括N (2 但是,John的C (2 输入有多组测试数据,以EOF结束。第一行:空格分隔的两个整数N和C第二行——第N+1行:分别指出了xi的位置输出每组测试数据输出一个整数,满足题意的最大的最小值,注意换行。样例输入
2014-04-06 13:48:03 433
原创 NYOJ-106 无语的背包问题
背包问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1输入第一行输入一个正整数n(1随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1输出输出每组测试数据中背包内的物品的价值和,每次输出占一行。样例输入13 155
2014-04-05 12:36:28 404
原创 NYOJ-91 阶乘之和
阶乘之和时间限制:3000 ms | 内存限制:65535 KB难度:3描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入2910样例输出YesNo
2014-04-05 11:59:36 563
原创 NYOJ-71 独木舟上的旅行
独木舟上的旅行时间限制:3000 ms | 内存限制:65535 KB难度:2描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的
2014-04-04 21:08:49 486
原创 NYOJ 47 过河问题
过河问题时间限制:1000 ms | 内存限制:65535 KB难度:5描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行
2014-04-04 19:43:43 507
原创 NYOJ 题目14 会场安排问题
会场安排问题时间限制:3000 ms | 内存限制:65535 KB难度:4描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m每组
2014-04-03 22:40:04 485
原创 喷水装置(二)
喷水装置(二)时间限制:3000 ms | 内存限制:65535 KB难度:4描述有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿。输入第一行输入一个正整数N表示共有n次测
2014-04-03 21:57:50 516
原创 线段树 离散化 NYOJ-posters
posters时间限制:1000 ms | 内存限制:65535 KB难度:6描述The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters
2014-04-03 15:57:40 664
原创 01背包问题2
输入整数N,M,从1到N这N个数中随便选取几个数,使其和等于M。1 到N为物品,M为容量,就跟背包问题差不多了。分如下几步:1,比较N取(N,M)中的小值。然后从大到小选择物品2,设n为将要放入的物品,如果n等下剩下的容量,从输出已经放入的物品3,然后分两种情况:放入物品n和不放入物品n,进行下一步,也就是第2步,如此递归下去。#include #include
2014-03-31 19:53:39 418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人