自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stay

少看电影多看书

  • 博客(21)
  • 收藏
  • 关注

原创 LeetCode 491 dfs + 减枝 = 枚举子序列去重?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录dfs + 减枝 = 枚举子序列去重?一、如此剪枝二、该剪枝的通用性如何?总结dfs + 减枝 = 枚举子序列去重?见标题,来源于leetcode2020年8月25日每日一题LeetCode491。这道题不难,典型的枚举子集。但是呢,当集合是有重复元素的时候,我们枚举子集都是要判断重复的。这道题就需要判重去除重复方法:串哈希算法直接依赖Set实现去重复先不管重复,枚举完成之后将结果排序,然后利用有序比较重复。还有

2020-08-25 15:08:03 167

原创 leetCode 207. 课程表 判存在环

leetCode 207. 课程表 判存在环 dfs 判环

2020-08-20 18:57:07 128

原创 D. Beautiful Sequence for Round 604 Div2 in Codeforces

codeforces round 604 div2 D beautiiful sequence的参考解法。

2019-12-07 14:53:56 129

原创 CodeForces Optimal Subsequences (Hard Version)

题目链接:传送门题意简述这道题有两个版本,简单版本只需要简单的模拟就可以了。困难版则是将数据量加大到2E5的级别。所以需要提高代码的执行效率才能通过。题目给定一个长度为N的序列,目的是求出符合以下要求的子序列:长度为K 子序列元素总和最大 子序列在符合上面的条件的同时需要字典序最小题目的考察方式是给定K和一个Pos,要求你返回长度为K的上述子序列中第pos个元素。并且给定的...

2019-11-26 14:41:25 209

原创 Codeforces Round #478 (Div. 2) D. Ghosts

传送门题意 在一个平面宇宙有很多的灵魂在以固定速度游荡,如果两个灵魂相遇会互相恐吓对方,相对应的两个灵魂各自增加一点经验值。每个灵魂经验值初始为零。给定每个灵魂初始的x坐标,y坐标满足y=ax+b。然后给出x方向的速度和y方向的速度。数据保证给定灵魂位置不同。这些位置是灵魂飘荡过程中某一时刻的状态。要我们求出所有灵魂的经验值都不增加时总经验值。分析题目给出某一时刻灵魂的位置和...

2018-05-02 23:02:45 130

原创 UVA - 12166 Equilibrium Mobile 修改天平

UVA - 12166 Equilibrium Mobile 修改天平传送门题意 给一个深度不超过16的二叉树,代表一个天平。每根天平都悬挂在中间,每个秤砣的重量已知。至少修改多少个秤砣的重量才能让天平平衡?分析    首先所有的子天平的支点都在天平的中间。这代表天平要想平衡,必须这个子天平两侧相等。还有就是修改了某个天平后父天平和祖宗天平都将因此受到影响。所以如...

2018-04-28 11:04:07 232

原创 UVA - 12657 Boxes in a Line 双向链表

Boxes in a Line    You have n boxes in a line on the table numbered 1 . . . n from left to right. Your task is to simulate 4 kinds of commands:        •  1 X Y : move box X to the left to Y (ignore th...

2018-04-15 20:43:08 141

原创 栈和队列

栈(stack)和队列(queue)都是动态集合,且在其上能进行delete操作所移除的元素是预先设定的。在栈中删除的是最近插入的元素;在队列中则是存在最久的元素。这两者实现的分别是后进先出(last in, first out)和先进先出(first in, first out)的策略。数组表示    利用数组表示一个简单的栈和队列确实是一个不错的选择,能够理解栈和队列对数据的操作即可。下面给出...

2018-04-10 18:07:13 804

原创 链表

链表    链表是一个线性顺序结构,链表为动态集合提供了一种简单而灵活的表示方法,但由于指针的存在,在代码的书写过程中很容易出bug。不管是利用其他技巧模拟指针还是语言自带的指针都很容易出错。    下面给出链表的基本操作代码:の链表的结构图示就不给出了,网上搜索一大吧。struct linkList{ node * head; linkList(){ head ...

2018-04-10 18:02:39 178

原创 二分搜索相关及循环有序序列相关

前言:        今天做题的时候看到一道题:33. Search in Rotated Sorted Array。由于LeetCode题目不给范围和时间。然我们尽量想复杂度小的方法。所以首先便把顺序便历排除。可是接下来就陷入了僵局。因为一个原本升序的数列进行旋转之后的数列不熟悉。然后果断搜索了一波发现是一个循环有序序列;循环有序序列:        该序列是从一个原本有序的数列经过了一定的旋转...

2018-02-27 14:36:34 212

原创 全排列相关总结

前言    今天做LeetCode里面的关于全排列的题目:31. Next Permutation发现自己对全排列是完全不了解。所以狠搜一波。总结一些知识点。(PS:该总结中待排列元素假定为整型数字。由于个人习惯,right通常指左边的元素,left通常指相对右的元素);下一个排列(next permutation)        给你一个排列,让你求该排列在全排列序列种的下一个排列。如果是最后一...

2018-02-26 15:43:49 215

原创 UVa 1606 两亲性分子 扫描法 && cnt++的分析

尝试分析了lrj代码中扫描的时候空区域的地方为什么需要cnt++的原因。

2017-08-09 16:17:00 366 1

原创 UVA - 1152 4 Values whose Sum is 0(hash || 二分)

该题的两种实现

2017-08-07 21:59:18 257

原创 UVA - 120 Stacks of Flapjacks

自己对该题的一些细节的分析,作为以后复习资料

2017-08-07 19:02:12 207

原创 归并排序和逆序对

归并排序和逆序对的nlogn求法

2017-08-06 20:08:49 257

原创 Uva 804 Spatial Structures

链接题意给一张图的两种表示方法,让你互相转化。然后输出,题意太长,就不翻译了。解题思路图转树: 利用递归的写法很容易想出递归的方案,就是先递归整张地图,可以将左上角加长度的一半作为参数递归。这样可以在递归的时候将整张图分成四块分别递归。当然我的实现方法有点冗余,没有用数据结构优化。 树转图:这个比较容易写,只要将给的数字从十进制转化为5进制,一直递归然后到最后当数为0的时候就到了叶子节点,也就是可

2017-07-30 21:05:27 385

原创 UVA 1600 Patrol Robot (bfs)

题意巡逻机器人从起点(1,1)到终点(m,n)。求最短路径长度,其中机器人可以连续穿过不超过k个障碍物。解题思路首先要明白穿过障碍物并不代表一定要直线飞过,可以各种拐弯飞,只要不超过k个就行。求最短路自然想到了bfs,和普通的bfs不同的是访问标志需要更换为到达该坐标穿过障碍物的个数和普通访问标志。当访问标志位true说明前面已经到达过该坐标,这时需要判断到达该坐标穿过的障碍物的个数是否小于以前的个

2017-07-30 10:54:55 220

原创 UVA - 11853-Paintball 求出口入口方法正确性分析

题目链接题意如果大家是从lrj的书中例题看到本题,相信对题意不会太陌生,所以就不重复说了解题思路书中lrj也讲了思路,代码也可以下载,这篇博客就是说明一下为什么入口和出口的求法的正确性。从图片中可以看到样例有解。建议大家先阅读了代码中求法及在什么条件下调用该函数。看了后发现是在dfs中调用,且调用条件为该条路径并没有到达战场区域的下边。这里调用check_circle()(看下面代码)去检查该圆

2017-07-28 15:43:25 330

原创 codeforces 320B Ping-Pong (Easy Version)

题目传送门题意给你一系列区间,题意规定两个区间(a,b)到(c,d)有路径的条件是 c < a < d or c < b < d. 然后在给出一系列的区间中插入问题,问两个区间是否相通。解题思路开始一看以为可以利用区间相交后传递相交关系,就想着用数组模拟一个类似并查集的前驱表,每给出一个遍历一遍。结果wa。 后来听ac的同学说利用dfs来做。然后一切水到渠成。#include <bits/stdc

2017-07-13 21:08:09 385

原创 hdu 5831 Rikka with Parenthesis II

题目链接题意给你一系列的有‘(’、‘)’组成的字符串,其中的数据量不大,问经过一次交换其中两个字符的位置能否使所有的括号都能符合题意给出的规范(也就是配对).解题思路可以用堆栈来模拟括号配对。当所有的括号都压栈或弹出后检查栈中剩下的不配对的括号是否多于4个。如果多于四个就不能经过一次操作后符合规范。 因为一次交换操作只能最多将4个不符合规范的括号调整为符合规范。然后就是些细节处理.代码#inclu

2017-07-11 21:29:24 224

原创 B. Igor and his way to work

题目链接题意就是给你一个1000 * 1000以内的迷宫,只能转弯两次是否能够从起点到终点。解题思路题意还是十分清晰的。以前没做过转弯的题目,所以花了比较久的时间。题目不能。在原来bfs的基础上修改判断重复遍历的条件。改为转弯次数是否小于前一次遍历的次数。如果大于便不用进队列了。因为上次在已经转弯的次数小于这次的情况下都没有走通,那么这次次数少的情况下走依然不会走通。代码 #inclu

2017-04-25 20:40:52 275 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除