
OJ & Leetcode
文章平均质量分 68
NeQrhk
这个作者很懒,什么都没留下…
展开
-
leetcode 290. Word Pattern
Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.原创 2017-11-29 13:48:35 · 347 阅读 · 0 评论 -
摘花生 http://bailian.openjudge.cn/summeracm2014final/L/
动态规划简单题目#includeint t,a[101][101];int main(){int i,j,n,m;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);for(i=1;ifor(j=1;jscanf("%d",&a[i][j]);}}for(i=0;ia[i][0]=0;for(j=0原创 2016-01-07 01:18:10 · 1340 阅读 · 0 评论 -
马走日__递归
B:马走日查看提交统计提问总时间限制: 1000ms 内存限制: 1024kB描述马在中国象棋以日字形规则移动。请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。输入第一行为整数T(T 每一组测试数据包含一行,为四个整数,分别为棋原创 2016-05-13 18:16:50 · 1056 阅读 · 0 评论 -
stack or queue
stack or queue总时间限制: 1000ms 内存限制: 65535kB描述栈和队列都是常用的线性结构,它们都提供两个操作:Push:加入一个元素。Pop:弹出一个元素。不同的是,栈是”先进后出”,而队列则是”先进先出”。给出一个线性结构的进出顺序,判定这个结构是栈还是队列。输入第一行输入一个整数t,代表有t组测试数据对于每组测试数据,第一行输原创 2016-05-27 21:14:33 · 824 阅读 · 0 评论 -
合格的字符串
查看提交统计提问总时间限制: 1000ms 内存限制: 65535kB描述 老师给小学生门布置了一些作业,让它们按照一个模版写一些字符串交上来,同学们把作业交上来了,问题来了,这么多的作业老师批改不过来,现在请你帮老师写一个程序,帮助老师确定各个字符串是否合格。 首先老师有一个匹配模版,比如是“aa[123]bb”这一个字符串,原创 2016-06-01 14:34:44 · 1306 阅读 · 0 评论 -
最大子矩阵
最大子矩阵查看提交统计提示提问总时间限制: 1000ms 内存限制: 65536kB描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9原创 2016-06-03 21:09:51 · 482 阅读 · 0 评论 -
Toj 1188 Tian Ji -The Horse Racing
中国有名的田忌赛马问题贪心法即可解答,贪心时充分利用每一匹马的速度,每匹马尽量战胜对方速度最大的马,完全无法取胜的马区消耗对方的速度最快的马#includeusing namespace std;int n;int a[1000],b[1000];int main(){ while(cin>>n&&n){ for(int i=0;i<n;i++){ cin>>a[i];原创 2016-07-16 01:17:13 · 447 阅读 · 0 评论 -
Hdu 1007Quoit Design 归并法
题目大意: 给出二维平面上的n个点,求其中最近的两个点的距离的一半。 采用分治方法,先把n个点按照x坐标排序,分成左右两个部分,再对每个部分求最近点的距离,然后合并 合并过程应该检查宽为2d的带状区间是否有两个点分别属于两个集合且距离小于d,最多可能有n个点,合并最坏情况下O(n^2) 对于左边的点,右边中的点必定落在一个d*2d的矩形中,且最多检查六个点(原创 2016-07-17 22:37:10 · 548 阅读 · 0 评论 -
TOJ 3777Function Problems 三分法的应用
题目大意给你一个函数的系数,让你求在x∈【0,1000】中的某个点的f(x)的最小值用三分法就能解决了#include#include#include#include#includeusing namespace std;double a1,b1,c1,a2,b2,c2;double f(double e){ return max( a1*e*e+b1*e+c1,原创 2016-07-17 23:18:22 · 531 阅读 · 0 评论 -
toj 3515堆的应用
#include#include#includeusing namespace std;#define N 110004struct Heap{ int da[N],size; void clear(){ size=0; } void insert(int v,int id){ da[++size]=v; int tm = size; while(tm>1){原创 2016-07-19 08:25:20 · 551 阅读 · 0 评论 -
TOJ 2470Robot in Maze (广度搜索应用)
#include#include#include#includechar map[200][200];int visited[200][200][4]; //标识该位置是否被访问int row,col;int sx[4]={-1,0,1,0};int sy[4]={0,1,0,-1};typedef struct Node{ int x; int y; int face;原创 2016-07-19 22:45:40 · 471 阅读 · 0 评论 -
Hdu 1002 A + B Problem II(大整数加法)
求两个1000位的整数的和。#include#include char a[1001];char b[1001];char f[1001];int main(){ int n; int lenA,lenB; int i,j,k; int d,t=1; int c=0; int ct=1; scanf("%d",&n); while(t<=n){ k=0; scan原创 2016-07-20 06:28:15 · 486 阅读 · 0 评论 -
【转】斐波那契数列取模(大数)分治算法
菲波那契数列如下:1,1,2,3,5,8,13,21,34......此中a[1] = 1, a[2] = 1, a[n]=a[n-1]+a[n-2](n>=3)。对给定的下标n,求解a[n]%1997的值.此中测试数据n是整数局限内。这个题目,主如果用到很关键的一个数学常识,斐波那契数列的求法,可以转换为矩阵的连乘,矩阵的n此方算法又可以用分治的算法。并且又有转载 2015-07-22 19:53:16 · 1790 阅读 · 0 评论 -
leetcode(461) Hamming Distance 简单题
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming distance.Note:0 ≤ x,原创 2017-05-22 19:57:11 · 372 阅读 · 0 评论 -
leetcode 520 Detect Capp(Easy)
Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:All letters in t原创 2017-09-04 08:52:37 · 459 阅读 · 0 评论 -
leetcode 561---- ArrayPartition
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), ..., (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large a原创 2017-09-04 08:49:25 · 450 阅读 · 0 评论 -
题目:肿瘤检测
描述一张CT扫描的灰度图像可以用一个N*N(0输入输入第一行包含一个正整数N(0输出输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。样例输入699 99 99 99 99 9999 99 99 50 99 9999 99 49 49 50 5199 50 20 25 52 9940 50 99 99 99 9999 99 99 99原创 2015-07-22 18:21:05 · 2576 阅读 · 0 评论 -
括号匹配问题----栈的应用
扩号匹配问题总时间限制: 1000ms 内存限制: 65536kB描述在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用原创 2017-07-07 13:13:05 · 606 阅读 · 0 评论 -
大整数乘法
大整数乘法总时间限制: 1000ms 内存限制: 65536kB描述求两个不超过200位的非负整数的积。输入有两行,每行是一个不超过200位的非负整数,没有多余的前导0。输出一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入1234567890098765432100样例输原创 2017-06-10 06:39:39 · 758 阅读 · 1 评论 -
openjudge ----- 流传感染
流感传染总时间限制: 1000ms 内存限制: 65536kB描述有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。输入第一行一个数字n,n不超过10原创 2017-06-10 06:33:09 · 1440 阅读 · 0 评论 -
leetcode 537 Complex Number Multiplication(Medium)
Given two strings representing two complex numbers.You need to return a string representing their multiplication. Note i2 = -1 according to the definition.Example 1:Input: "1+1i", "1+1i"O原创 2017-06-18 19:07:21 · 455 阅读 · 0 评论 -
FJ的字符串
FJ的字符串总时间限制: 3000ms 内存限制: 65536kB描述问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入输入格式 仅有一个数:N ≤26。输出原创 2017-06-18 17:15:29 · 811 阅读 · 0 评论 -
atof实现 openjudge题目
atof:atof函数的实现查看提交统计提问总时间限制: 1000ms 内存限制: 5000kB描述输入一组数字型字符串,将其转换成double型的浮点数。要求:不能使用系统函数atof,需要自己定义实现该函数。输入输入多个数字型的字符串,每个字符串之间换行符隔开。字符串可能包括空格符、正负符号、小数点以及其它非数原创 2016-05-19 22:46:51 · 2856 阅读 · 1 评论 -
滑动窗口
给定一个长度为n(n下面是一个例子:数组是 [1 3 -1 -3 5 3 6 7], k = 3。窗口位置 最大值[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7 3 1 3 [-1 -3 5] 3 6 7 5原创 2016-12-20 23:22:46 · 2213 阅读 · 0 评论 -
反转链表之单双链表
要求你反转一个单链表(双链表)单链表的反转public class Node{ public int value; public Node next; public Node(int data){ this.value = data; }}public Node reverseList(Node head){ Node pre = null; Node next = nul原创 2016-12-21 10:00:52 · 509 阅读 · 0 评论 -
几道链表的题目
两个链表相加成一个链表public int Node{ public int value; public Node next; public Node(int data){ this.value = data; }}public Node addList1(Node head1,Node head2){ Stack s1 = new Stack(); Stack s2 =原创 2016-12-26 17:03:12 · 632 阅读 · 0 评论 -
面试算法①——转圈打印矩阵
给你一个整形矩阵matrix,请按照转圈的方式打印它例如input:1 2 3 4 5 6 7 89 10 11 1213 14 15 16output 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10要求 额外空间复杂度O(1)设计一个函数,只打印最外圈,这里取最外圈的左上角顶点和左下角顶点的坐标,表示一个子矩阵,按照从原创 2017-01-24 22:34:12 · 568 阅读 · 0 评论 -
二叉搜索树的一些基本操作
//二叉搜索树//搜索 struct TreeNode{ int data; struct TreeNode *lchild; struct TreeNode *rchild;};TreeNode * SearchBST(TreeNode t,keytype key){ if(t==NULL||key==t->data); return t; else if(keydat原创 2017-02-03 19:02:44 · 530 阅读 · 0 评论 -
面试算法-----输出单层结点
题目描述对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。直接用BFS就可以解决了。搜索到该层时候,把同一层的结点保存在一个链表中,直接原创 2017-03-16 22:17:53 · 348 阅读 · 0 评论 -
面试算法-------确定两个字符串乱序同构
题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。测试样例:"This is nowcoder","is This nowc原创 2017-03-16 22:32:09 · 550 阅读 · 1 评论 -
根据树的前序和中序序列求出后序序列
前序遍历: GDAFEMHZ中序遍历: ADEFGHMZ 求出后序遍历?首先,得知道先序遍历是先访问根节点,后访问左孩子节点,然后右孩子节点,中序遍历先访问左孩子节点,然后访问根节点,最后访问右孩子节点。所以由前序遍历第一个节点G肯定是根节点,然后在中序遍历中找到G ,G左边的节点ADEF,肯定在G的左子树,G右边的节点HMZ肯定在原创 2017-04-05 17:16:55 · 839 阅读 · 0 评论 -
有趣的排序
[编程题] 有趣的排序时间限制:1秒空间限制:32768K度度熊有一个N个数的数组,他想将数组从大到小排好序,但是萌萌的度度熊只会下面这个操作:任取数组中的一个数然后将它放置在数组的最后一个位置。问最少操作多少次可以使得数组从小到大有序? 输入描述:首先输入一个正整数N,接下来的一行输入N个整数。(N 输出描述:输出一个整数表示最原创 2017-05-14 08:08:46 · 615 阅读 · 0 评论 -
Hdu 1312 Red and Black 深搜
Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13508 Accepted Submission(s): 8375Problem Description There is a rectangul原创 2017-05-15 18:48:27 · 411 阅读 · 0 评论 -
Buy One Get One Free
Buy One Get One Free总时间限制: 2000ms 内存限制: 65536kB描述Farmer John has discovered the Internet is buying bales of hay online when he notices a special deal. For every bale of hay of si原创 2017-05-22 20:48:44 · 711 阅读 · 0 评论 -
链表---删除一个指定的数字
#include#includetypedef struct A{ int t; struct A *next;}Link;void init(Link *&l){ l=(Link*)malloc(sizeof(Link)); l->next=NULL;}void print(Link *l){ Link *p=l->next; while(p!=NULL){ prin原创 2016-11-20 05:01:06 · 1108 阅读 · 0 评论 -
最优矩阵乘法
最优矩阵链乘(动态规划) 一个n*m的矩阵由n行m列共n*m排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个n*m的矩阵乘m*p的矩阵,运算量为n*m*p。 矩阵乘法不满足分配律,但满足结合律。因此A*B*C既可以按顺序(A*B)*C也可以按A*(B*C)来进行。假设A、B、C分别是2*3、3*4、4*5的,则(A*B)*C运算量是2*3*4+2*4*5=64原创 2016-11-18 23:37:53 · 1051 阅读 · 0 评论 -
最大乘积--动态规划
【题目描述】今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先 生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活 动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样 一道题目: 设有一个长度N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。原创 2016-09-21 15:32:20 · 1101 阅读 · 0 评论 -
CTU Open 1999 Lloyd Fifteen Puzzle
总时间限制: 1000ms 内存限制: 65536kB描述Nearly everybody knows the popular game called Lloyd fifteen puzzle. The puzzle consists of fifteen numbered tiles placed in the square box. The dimensions of the box原创 2016-10-10 13:01:10 · 693 阅读 · 0 评论 -
八皇后问题
http://stepbystep.openjudge.cn/dfs/6/ 题目连接#includeint ans[92][8],n,b,i,j,num,hang[8];void queen(int i){ int j,k; if(i==8){ for(j=0;j<8;j++)ans[num][j]=hang[j]+1; num++; return原创 2016-10-10 13:12:14 · 487 阅读 · 0 评论 -
栈的基本操作
栈的基本操作查看提交统计提问总时间限制: 1000ms 内存限制: 1000kB描述栈是一种重要的数据结构,它具有push k和pop操作。push k是将数字k加入到栈中,pop则是从栈中取一个数出来。栈是后进先出的:把栈也看成横向的一个通道,则push k是将k放到栈的最右边,而pop也是从栈的最右边取出一个数。原创 2016-10-10 16:04:41 · 823 阅读 · 0 评论