- 博客(22)
- 收藏
- 关注
原创 leetcode4_合并两个有序数组
用的是O(mn)的方法,稍微优化了下。依次遍历nums2,并取值与nums1中的值比较,nums1每次起始地址为index,每次插入一个新的值后,nums1的起始地址index更新为插入数字所指示的下标。代码:class Solution {public: void merge(vector<int>& nums1, int m, vector<...
2019-03-29 16:58:48
174
转载 leetcode3_搜索二维矩阵 II
分治算法算法描述左下角的元素是这一行中最小的元素,同时又是这一列中最大的元素。比较左下角元素和目标:若左下角元素等于目标,则找到若左下角元素大于目标,则目标不可能存在于当前矩阵的最后一行,问题规模可以减小为在去掉最后一行的子矩阵中寻找目标若左下角元素小于目标,则目标不可能存在于当前矩阵的第一列,问题规模可以减小为在去掉第一列的子矩阵中寻找目标若最后矩阵减小为空,则说明不存在-----...
2019-03-29 16:52:30
123
转载 leetcode2_求众数
⌊1/2⌋=0 向下取整⌈1/2⌉=1 向上取整⌊-1/2⌋=-1 向下取整⌈-1/2⌉=0 向上取整转自:https://www.cnblogs.com/grandyang/p/4233501.html这是到求众数的问题,有很多种解法,其中我感觉比较好的有两种,一种是用哈希表,这种方法需要O(n)的时间和空间,另一种是用一种叫摩尔投票法 Moore Voting,需要O...
2019-03-26 13:51:27
140
原创 关于“向Microsoft发送有关我的写作习惯的信息,以便在未来改进键入和写入功能”按钮灰色如何解决
重装系统时拒绝了所有向微软发送信息的选项,导致自带输入法失去记忆|习惯的功能,在设置->隐私->常规 中,“向Microsoft发送有关我的写作习惯的信息,以便在未来改进键入和写入功能”按钮是灰色的解决方法:设置->隐私->反馈和诊断->诊断和使用情况数据->完整(推荐)选择完整,再返回去看那个按钮还是不是灰色的已经正常,完毕...
2019-03-07 14:47:02
3042
2
原创 银行排队问题之单窗口“夹塞”版(pta)
传送门:https://pta.patest.cn/pta/test/15/exam/4/question/895思路:先用并查集确定各个顾客(结点)的父亲,然后依次处理进来的顾客,对每个顾客(A),找到和他同一个结点的并且离他最近的(B)(输入顺序),看这个结点(B)的开始时间是否小于等于前面顾客的(A)结束时间,如果是,那这个顾客(B)作为下一个进来的顾客,否则,(除去
2017-08-14 15:51:00
1194
原创 hdu 1117 Booklet Printing(模拟 分类 水题)
传送门http://acm.hdu.edu.cn/showproblem.php?pid=1117首先上图,这表示三张纸订正一本册子的姿势,是一张夹着一张的,明白了这个,就可以水过去了。这里第一面是12,1第二面是2,11第三面(第二张纸)是10,3......这其实是打印纸张时打印的顺序。当页码是1的时候,只用输出第一面就行了,情况为 Bla
2017-07-20 21:17:33
1045
原创 杂烩
变量赋值只能在函数内进行(不是初始化),例如#include#includeusing namespace std;int num;num=1;int main(){coutreturn 0;}这样是不行的但是你可以这样,如下:#include#includeusing namespace std;in
2017-07-19 15:10:14
231
转载 (转载)总结C++中的几种结构体初始化的方法
作者:Ac_Von文章地址:http://www.cnblogs.com/vongang/archive/2011/07/30/2122076.html结构体能自由组装数据,是一种很常见的数据打包方法。当我们定义一个结构体后,没有初始化就使用,就会使用到垃圾数据,而且这种错误很难发现。对于定义的任何变量,我们最好都先初始化。 除了使用memset和ZeroMemor
2017-07-19 09:10:20
1465
原创 hdu 1004 字符串排序
代码比较简单,直接看代码#include#include#include#include#include#define MAX 1005using namespace std;string node[MAX];bool cmp(string a,string b){ if(a.length()==b.length()) return a.compare
2017-05-29 10:27:27
268
原创 字符串排序(sort)
其实这个跟普通的sort一样,只不过在重写cmp的时候,用字符串比较函数去处理#include#include#include#include#include#define MAX 100using namespace std;string node[MAX];bool cmp(string a,string b){ return a.compare(b)<1;}int
2017-05-29 09:59:33
3017
原创 hdu 1241 Oil Deposits DFS
传送门http://acm.hdu.edu.cn/showproblem.php?pid=1241题意是让你找有几块油田(一块油田的意义是许多相邻的@区域形成的大的区域),然后八个方向以内都算相连。DFS去找有几块油田。ps:又cin又printf的可能很丧心病狂,我还在慢慢适应cin cout,习惯一下子改不过来...汗#include#include#inc
2017-04-03 18:54:13
300
原创 HDU2639:Bone Collector II(01背包第k优解)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=263901背包的基础上改过来的,题意是找当前背包容量下第k大的价值。基本思想就是记录每一次放与不放的价值,在放入当前dp中。dp[i][j]表示体积为i时第j高的价值。每次用a,b数组记下当前背包容量时的第r大的价值。想好好理解的可以恢复代码中注释掉的那段,把整个表
2017-03-31 23:37:37
285
原创 hdu2112 HDU Today
Dijkstra+stl_map map的简单用法可以直接看下面的代码了解下做最短路的题要注意更新数据,之前在地图net[][]的更新上没注意,每次拿到数据就更新(实际应该先判断是否比之前的net[i][j]要小)注意起点和终点重合的情况#include#include#include#includeusing namespace std;#d
2017-03-29 22:53:04
289
原创 结构体排序(优先级)
这个记性也是差的,老是忘记,现在直接贴这里,就不怕忘记了。测试数据在当中,结果在最后面#include#includeusing namespace std;#define MAX 100struct Node{ int a; int b;}node[MAX];bool cmp(Node x,Node y){ if(x.a==y.a) { return x.
2017-03-22 18:11:16
1621
转载 PTA Basic 1010 一元多项式求导
这道题很...没问过别人能不能转载,就放个传送门吧http://blog.csdn.net/xtzmm1215/article/details/38408583
2017-03-20 23:03:42
312
原创 hdu1272 小希的迷宫 并查集
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1272并查集知识点传送门:http://blog.csdn.net/dellaserss/article/details/7724401/了解并查集后就可以直接看代码了#include#define MAX 100005int count,e,quan;//这里
2017-03-20 21:34:35
369
原创 hdu1003 Max Sum
动规,用dp[i]数组记录到i为止的最大的字段和,v[]数组存这段字段和下标开始的位置,index保存下标结束的位置状态转移方程:dp[i]=max(dp[i-1]+dp[i],dp[i]); (i>1) dp[i]=dp[i];(i=1)记住max()在dp[i-1]+dp[i]==dp[i]时返回dp[i-1]+dp[i]
2017-03-20 12:52:27
226
原创 hdu 1548 a strange lift 迪杰斯特拉 最短路问题
之前活生生地理解错了,这个电梯是在第几层时都有相应的移动步数,我理解成了按它的顺序(3 3 1 2 5)每次一定要移动这个次序。其他的要考虑起始点和终点相同的情况,即输出0,而不是-1,要做到这个,在djs()中给保存起点到各个点的距离的数组d[s]=0就行了,s表示起点下标。是个熟悉迪杰斯特拉的不错的题。传送门:http://acm.hdu.edu.cn/showproblem.
2017-03-15 00:29:46
260
原创 hdu3790最短路径问题Dijkstra(迪杰斯特拉)
传送门http://acm.hdu.edu.cn/showproblem.php?pid=3790之前做过这道题,后来...后来忘了科科,思路很简单,就是迪杰斯特拉,加上一个限制条件(花费),在计算出最短路时,比较当前花费是不是同等路径长度下最少的。错了好几次,发现是初始化存储边(两点之间的路径长度)数组时,没有直接把同等距离情况下,花费多的淘汰掉,导致存储了每次最后一个输入的路径
2017-03-09 21:14:30
554
转载 hdu2058 The sum problem
用等差求和公式,直接代(a1+an)*n/2((首数+尾数)*个数/2)时超时了,参考了http://blog.csdn.net/cs_zlg/article/details/7387423另w为个数,i为首数,i+w即为尾数,w从0开始,2*M为和。所以个数为w+1,所以有(i+i+w)*(w+1)=2*M易知w+1所以一定有(w+1)*(w+1)即w+1所以w然后再
2017-02-22 15:43:48
180
原创 water1.acm_hdu_1062
#include#include#includeint main(){ char str[1010]; int n,i,len,k; scanf("%d",&n); getchar(); while(n--) { gets(str); //fflush(stdin);这个函数可以清空键盘缓存区里的内容,但是ge
2016-12-02 20:45:58
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人