- 博客(39)
- 收藏
- 关注
原创 【LeetCode每日一题】174. 地下城游戏
问题描述一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的值为正整数,则表示骑士将增
2020-07-12 14:55:19
245
原创 【LeetCode每日一题】315. 计算右侧小于当前元素的个数
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-07-11 19:00:04
207
原创 linux进程间同步之POSIX信号量
<阅读linux系统编程手册笔记> POSIX信号量跟System V信号量一样,都是用于进程和线程同步对同享资源的访问。信号量(POSIX,System V)是一个整数,其值是不能小于0的。 POSIX信号量主要分为:命名信号量、未命名信号量。 首先先介绍命名信号量。一、命名信号量 先来看看命名信号量的主要API:sem_open()函数用于创建或者打开一个...
2018-06-29 21:31:30
569
原创 Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) C. Destroying Array(并查集)
题意:给定一个自然数序列An,和(1~n)的下标序列Bn,Bn代表每次要销毁的数字的下标,求前i次销毁后,最大的子段和是多少?题解:并查集。我们从后往前恢复,把Bi-1和Bi联合,Bi+1和Bi联合,那么sum[B[i]] = sum[B[i]-1] + sum[B[i]+1] + A[B[i]];#include #include #include #include #inclu
2016-10-02 01:41:45
601
原创 Codeforces Round #369 (Div. 2)
A:略B:题意:给出n * n的矩阵,求一个数x,使得将矩阵中的所有0替换成x后,能使得矩阵每一行的数的和、每一列的数的和、分别两个对角线的数的和,值都相等。题解:解方程。对于每行每列每条对角线,我求出总和 及 0个数,取两个和不相同的行或列或对角线,解方程。(原谅我的渣代码)#include #include #include #include #include #in
2016-09-01 23:24:12
362
原创 URAL 1826 贪心经典题型
题意:有一个地雷区,n个人要过去,但是只有一个探雷检测器,那么同时最多只能有两个人过去,过去的人必须把探雷器拿回来,每个人过去的速度都不同,总体的速度决定于较慢的那个。题解:每次,1.要么是 先去两个最小的a[1],a[2],a[1]又拿检测器回来,a[n],a[n-1]过去,最后a[2]回来又拿检测器回来,此时花费时间为 cost1 = a[1] + 2*a[2] + a[n];
2016-08-09 03:16:35
395
原创 POJ 2299 Ultra-QuickSort (树状数组、归并排序)
题目链接:http://poj.org/problem?id=2299做法一:归并排序求逆序对归并排序求逆序对的做法很经典,在归并排序中,如果 lefta[j],如果在mid之前有大于k个大于a[j]的数,那么ans+=k,k是多少呢?k=mid-i+1!为什么?你想想,因为a[i]>a[j],因为 i~~mid已经排序好了,就是说a[i]<a[i+1]<a[i+2]<....<a[mid
2016-08-03 19:50:12
420
原创 HourRank 11 之 LCS Returns
Given two strings, and , find and print the total number of ways to insert a character at any position in stringsuch that the length of the Longest Common Subsequence of characters in the tw
2016-08-03 03:58:51
503
原创 Gym 100883G Count Mix Strings (Lucas,乘法逆元,扩展gcd,快速幂)
题意:输入n,m,输出组合数C(n+m,n)%mod,(mod=1e9+7)。看过的觉得比较好的博客:题解:有两种做法,第一:Lucas,第二:乘法逆元第一种做法: #include #include #include using namespace std; typedef long long LL; LL n,m
2016-07-25 00:02:39
503
原创 poj 2796 经典单调栈题目
题目描述:对于n个数,求一个区间,使得该区间所有值相加 乘以 该区间最小值 所得值最大题解:单调栈的应用。题意可以这样说,求以 a[i]为区间最小值 ,求区间所有数的和乘以 a[i]的最大值是多少。这道题,我wa了一天零一夜,终于ac了。。(怪我菜咯。。)这个过程只要维护个单调栈就行了,首先用一个数组sum去求出前缀和,用lef[i],right[i]存储以a[i]为最小值的区间的范围。求
2016-07-23 23:49:12
959
原创 Codeforces Round #364 (Div. 2)(A,B,C,D)
还是自己菜的原因,cf一直打不好,希望借写博客来记录并提示自己吧。。A:有n辆车(n是偶数),n/2个人,每人分配两辆车,每辆车都有一个标志值(具体代表什么,我也忘了),现在要求给每个人分配的车的价值总和都一样,输出每个人的车子号码。题解:暴力枚举;求出所有车子的总和sum,s=2*sum / n就是 每个人分配的车子价值总和,然后对每个没有被记录的 a[i] 找到 一个同样没有标
2016-07-23 18:56:38
442
原创 Codeforces Round #362 (Div. 2) C
题意:对于完全二叉树,有q个操作,每个操作要么 1 u v w,把u->v所有的路径花费加上w,要么 2 u v,求u->v的最小花费总和思路:暴力找最小公共祖先,由于u,v非常大(1e18),所以考虑要用map容器存储#include #include #include #include #include #include #include #include #defin
2016-07-22 15:13:33
320
原创 poj2823 单调队列以及双端队列(deque)
题目链接:http://poj.org/problem?id=2823双端队列的使用:http://blog.csdn.net/ayw_hehe/article/details/6636765#include #include #include #include #include #include #include #include #define loop(a,b,c)
2016-07-22 13:40:33
1070
原创 FZU 1851 组合数 (分解质因数)
题意:输出组合数C(n,m)的质因数思路:将分母,分子分别质因数分解(短除法),记录每个质因数个数,用分母各个质因数的个数-分子的质因数的个数,即可;#include #include #include #include #include #include #include #include #define loop(a,b,c) for(int a=b;a<=c;a++)
2016-07-22 00:42:24
973
原创 Codeforces Round #363 (Div. 2) (A,B,C)
A. Launch of Collidertime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere will be a launch of a new, powe
2016-07-20 10:33:34
439
原创 Educational Codeforces Round 14
C. Exponential notationtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a positive decimal nu
2016-07-15 11:30:28
539
原创 UVa699 The Falling Leaves
题意:给出一棵二叉树,每个结点都有一个水平位置,左子结点在它的左边1个单位,右子节点在右边一个单位。从左到右输出每个水平位置的所有结点的权值之和。按照递归先序输入。样例输入:5 7 -1 6 -1 -1 3 -1 -18 2 9 -1 -1 6 5 -1 -1 12 -1 -1 3 7 -1 -1 -1-1样例输出:Case 1:7 11 3Case 2:9 7
2016-07-13 16:46:44
346
原创 SCAU Individual Contest #1 (未更新完)
不得不说,这次个人排位好难(因为我菜啊)。。。A:水题。题意就是构造一个字符串满足有n个(i,j)对,i#include #include #include #include #include using namespace std;char ch[10005];int main(){ //freopen("data.txt","r",stdin); i
2016-07-11 00:58:41
431
原创 codeforces 676C Vasya and String
Vasya and Stringtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputHigh school student Vasya got a string of length n as a
2016-05-27 00:43:03
812
原创 scauoj_11158 切水果
11158 切水果时间限制:1000MS 内存限制:65535K提交次数:638 通过次数:82 题型: 编程题 语言: G++;GCCDescription Lrc是校队里面的总所周知的全才王,他不仅是一个excelent acmer,也不仅是一个chess master,更是一个crazy game player。切水果,正是他最喜欢玩的手机游戏之一。为
2016-05-26 14:03:39
1115
原创 POJ 3278 Catch That Cow(DFS)
DescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a pointN (0 ≤ N ≤ 100,000) on a number line and the cow is at a poin
2016-05-23 16:06:48
866
原创 51nod-1289-大鱼吃小鱼(栈的应用)
有N条鱼每条鱼的位置及大小均不同,他们沿着X轴游动,有的向左,有的向右。游动的速度是一样的,两条鱼相遇大鱼会吃掉小鱼。从左到右给出每条鱼的大小和游动的方向(0表示向左,1表示向右)。问足够长的时间之后,能剩下多少条鱼?Input第1行:1个数N,表示鱼的数量(1 <= N <= 100000)。第2 - N + 1行:每行两个数A[i], B[i],中间用空格分隔,分别表示鱼的大小及
2016-05-17 20:03:32
468
原创 poj 1159 Palindrome
PalindromeTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 44186 Accepted: 15050DescriptionA palindrome is a symmetrical string, that is, a string read ide
2016-05-10 22:08:41
628
原创 8628 相亲
8628 相亲时间限制:500MS 内存限制:1000K提交次数:409 通过次数:81题型: 编程题 语言: G++;GCC Description 在咱遥远破旧的小村庄,男女成婚仍是以古老的、传统的模式:相亲,合时辰八字,合得来则订婚,择日成亲。其中最忽悠的则是合时辰八字,话说是月老决定,实则是根据某条公式,算是否合得来。通过多年的明察暗访,终于让我
2016-04-01 00:33:49
552
转载 KMP算法初步
教你初步了解KMP算法 作者: July 、saturnma、上善若水。 时间; 二零一一年一月一日-----------------------本文参考:数据结构(c语言版) 李云清等编著、算法导论引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配问题。本文由简单的字符串匹配算法开始,再到
2016-03-17 15:39:55
358
转载 01背包问题一维空间优化的理解
转自......如果只使用一维数组f[0…v],我们要达到的效果是:第i次循环结束后f[v]中所表示的就是使用二维数组时的f[i][v],即前i个物体面对容量v时的最大价值。我们知道f[v]是由两个状态得来的,f[i-1][v]和f[i-1][v-c[i]],使用一维数组时,当第i次循环之前时,f[v]实际上就是f[i-1][v],那么怎么得到第二个子问题的值呢?事实上,如果在每次循环
2016-02-07 00:47:42
861
原创 11155 ly与lyon的终极巅峰对决
11155 ly与lyon的终极巅峰对决时间限制:1000MS 内存限制:65535K提交次数:566 通过次数:130题型: 编程题 语言: G++;GCCDescription 从前有一天,ly与lyon在讨论人工智能里面的博弈问题,恰好,他们提到了五子棋。当然,这里说的五子棋是指无禁手(不知道什么是禁手的也不用管了,跟这题没关
2016-02-02 15:46:25
876
原创 17228 真.狼人游戏
17228 真.狼人游戏时间限制:1000MS 内存限制:65535K提交次数:29 通过次数:3 收入:158题型: 编程题 语言: G++;GCCDescription去长春的飞机上,Bear Kids队跟One Piece队的队员深感无聊,于是,他们6个人玩起了一个很简单的游戏。游戏规则是这样的,简化版狼人游戏,游戏中,身份只有两种,平
2016-02-01 01:10:13
714
原创 17225 狼人游戏
17225 狼人游戏时间限制:1000MS 内存限制:65535K提交次数:24 通过次数:3 收入:119题型: 编程题 语言: G++;GCCDescription狼人游戏是一款深受大众欢迎的桌游。Ly作为初学者,自然也迷上这款刺激与智商并存的游戏。可是有一件很忧伤的事,大家都知道狼人的角色牌分为狼人和非狼人,然后Ly经常玩一个晚上
2016-01-31 11:51:58
787
转载 最长递增子序列(dp)
转自此处问题给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.解法1:最长公共子序列法这个问题可以转换为最长公共子序列问题。如例子中的数组A{5,6, 7, 1, 2, 8},则我们排序该数组得到数组A
2016-01-30 20:45:20
607
转载 编辑距离算法(dp)
字符串编辑距离: 是一种字符串之间相似度计算的方法。给定两个字符串S、T,将S转换成T所需要的删除,插入,替换操作的数量就叫做S到T的编辑路径。而最短的编辑路径就叫做字符串S和T的编辑距离。转自这里 关键在于找到该问题的子问题。举个例子:S=“eeba” T="abac" 我们可以按照这样的步骤转变:(1) 将S中的第一个e变成a;(2) 删除S中的第二
2016-01-30 00:54:38
828
原创 18001 Farmer Cat
18001 Farmer Cat时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0题型: 编程题 语言: 不限定DescriptionThere are a lot of bulls in SCAU. One of them loves eating fodder. But his owner -- Farmer Ca
2016-01-27 17:13:24
509
原创 17996 Daily Cool Run(动态规划dp)
17996 Daily Cool Run时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0题型: 编程题 语言: 不限定DescriptionDaily Cool Run is a popular game, and Xdp enjoys playing the game recently. While play
2016-01-27 14:22:19
513
原创 最长公共子序列(LCS)
相关资料:点击打开链接输入第1行:字符串A第2行:字符串B(A,B的长度 输出输出最长的子序列,如果有多个,随意输出1个。输入示例abcicbaabdkscab输出示例abca#include #include #include #inclu
2016-01-26 16:04:30
567
原创 E 时间排序
E 时间排序Time Limit:1000MS Memory Limit:65535K题型: 编程题 语言: 无限制描述在开发项目的过程当中,经常会遇到这样一个问题,根据时间进行排序。并且当输入的时间格式不规范时,这个问题变得有些棘手。现在,你需要编写一个程序,实现将给定的时间按时间先后排序后输出。输入的时间主要有如下几种情况:(1)
2016-01-25 21:27:50
819
原创 C 眼力大作战
C 眼力大作战Time Limit:1000MS Memory Limit:65535K题型: 编程题 语言: 无限制描述某一天,bsc要给集训队表现出色的cdm和xxy发奖品了,可是bsc只有一件奖品,不能同时分给两个人,所以只能想个办法来决定谁来领奖品了。Bsc给了一张表格,里面填满了各种大写字母,要求从里面找出一个正方形,其中正方形的
2016-01-25 21:14:57
1499
原创 A 牛牛
A 牛牛Time Limit:1000MS Memory Limit:65535K题型: 编程题 语言: 无限制描述 最近hl看到舍友在回顾星爷,发哥,瓦仔的《赌..》系列电影,然后就跟他们玩起扑克来。扑克里面有一种简单的玩法,叫做“牛牛”.众所周知,一副扑克除去大小王之后剩下52张。2~9,T(相当于牌10),J,Q,K(J,Q
2016-01-25 20:56:11
1701
原创 B 身体越来越差的lrc
B 身体越来越差的lrcTime Limit:2000MS Memory Limit:65535K题型: 编程题 语言: 无限制描述 RP之神lrc,人称主席,在职业生涯为校队作出过很多贡献,也非常受(人敬仰。 而他之所以为叫做RP之神,是因为在他的一生中发生了许多的人品好的事情,比如 1.曾用随机算法
2016-01-23 21:22:35
1098
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人