用start命令打开含有空格的文件路径

我在命令中输入,提示系统找不到文件start C:\Program Files (x86)\KuGou看了相关资料和视频,有些是这样输入的,他行我不行~start C:\"Program Files (x86)"\KuGou后来这样写了start "C:\Program Files (x86)\KuGou"弹出了改路径下的一个dos窗口,非我所想然后start "" "C:\Program Files (x86)\KuGou"成功打开该路径下的文件夹...
分类: 其他 发布时间: 10-19 21:05 阅读次数: 0

HDU 5493 Queue 二分外加树状数组

题意:有N个人排成了一队,他们知道自己的身高以及前面(或者后面)有多少人比他们高,要求我们确定这N个人的排队顺序(如果有多种,输出字典序最小的那个)思路:我们首先将这N个人按照高度从小到大排序(当然从大到小也可以),遍历这N个人,依次为他们寻找可能的位置。因为题中给的K可能是前面也可能是后面,所以有两种情况,我们只需取最小的位置即可,这样才能保证最后的答案是最下的字典序。那么位置该如何去找呢?(可以将问题抽象成N个萝卜放N个坑里面)一开始所有人的位置都还没找到,数组t[N]的值都为1,1表示这个坑还
分类: 其他 发布时间: 10-19 21:05 阅读次数: 0

HDU 4768 Flyer 二分套二分

题意:给N组数,每组三个数A_i,B_i,C_i,表示K个数A_i, A_i+C_i,A_i+2C_i,…A_i+kC_i (A_i+k*C_i<=B_i, A_i+(k+1)*C_i>B_i).)其实就是一个等差数列,求在这N个数列中出现次数为奇数的那个数和出现的次数,题中数据保证该数只有一个思路:因为数据保证该数只有一个,要是存在,那么所有出现的数出现的次数和一定是个奇数。如果这个是个偶数,就可以直接输出答案了。否则的,我们二分答案,如果check呢?如果出现的数(都小于等于mid)的
分类: 其他 发布时间: 10-19 21:05 阅读次数: 0

HDU 5646 DZY Loves Partition 数学

题意:给定N和K,将N划分成K个不同的正整数,使得这K个数的乘积最大思路要使得乘积最大,这K个数一定是相对连续的。具体点就是将N划分为一段连续的序列,如果有余数,就平均分配给序列后面的数(别问为啥,问就不知道)比如30 6划分为 2 3 4 6 7 8变形题目中如果没有K和不同的限制的话,即是将N划分为一些正整数,求这些数最大化乘积。思路首先把一个正整数N拆分成若干个正整数,肯定有有限种拆法,所以存在最大乘积,假设N=n1+n2+n3+……+nkN=n_1+n_2+n_3+……+n_.
分类: 其他 发布时间: 10-19 21:04 阅读次数: 0

最长上升子序列的两种复杂度解法

动态规划o(N2N^2N2)的解法我们先确定状态:dp[k]:表示以aka_kak​为终点的最长上升子序列的长度。可以看到,该状态满足无后效性然后确定递推式初始状态:maxLen(1)=1maxLen(k)=max {maxLen(i):1<=i<k,ai<aka_i<a_kai​<ak​,且k!=1}+1如果找不到这样的i,那么有maxLen(k)=1代码#include<bits/stdc++.h>using namespace std.
分类: 其他 发布时间: 10-19 21:04 阅读次数: 0

HDU 5356 序列变换

思路这个题是最长上升子序列的变形版本,要保证严格递增,需要满足a[j]−a[i]>j−ia[j]-a[i]>j-ia[j]−a[i]>j−i,化简得a[j]−j>a[i]−ia[j]-j>a[i]-ia[j]−j>a[i]−i,所以我们只需要求得序列b的LIS即可(b[i]=a[i]−ib[i]=a[i]-ib[i]=a[i]−i)代码#pragma GCC optimize(2)#include<bits/stdc++.h>using na.
分类: 其他 发布时间: 10-19 21:04 阅读次数: 0

Vjudge Bound Found 尺取法的好题

题目链接Bound Found题意有N个整数数,可负可正。给一个数t,然后从这N个数中找一个连续的区间,使得这个连续区间和的绝对值最接近t,求出这个连续区间和的绝对值和以及区间的上下界。思路尺取法顾名思义,像尺子一样取一段,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。什么时候可以使用尺取法?我自己的理解是:答案在一段连续的区间内或者是一段连续的区间(可能有多个区间满足情况,题目要求你求出一个最优的区间),一般区间都是从数组的左端
分类: 其他 发布时间: 10-19 21:03 阅读次数: 0

HDU First One 尺取法

题意有一个整数数组a1,a2,a3,...ana_1,a_2,a_3,...a_na1​,a2​,a3​,...an​,定义S(i,j)=ai+ai+1+ai+2+...+ajS(i,j)=a_i+a_{i+1}+a_{i+2}+...+a_jS(i,j)=ai​+ai+1​+ai+2​+...+aj​求∑i=1n∑j=in(⌊log2S(i,j)⌋+1)∗(i+j)\sum_{i=1}^n\sum_{j=i}^n(\lfloor log_2S(i,j)\rfloor+1)*(i+j)∑i=1n​∑.
分类: 其他 发布时间: 10-19 21:03 阅读次数: 0

HDU-1937 Finding Seats 二维尺取法

Finding Seats题意找一个长方形,长方形中中的座位数量需要大于等于K,求满足条件的最小的长方形的面积思路原先想的是暴力加上剪枝,但是最坏复杂度还是1e8,果断T了。之后想到尺取法,只不过这种尺取法是二维的,只要稍加处理还是很好写的。我们遍历长方形的上下界,然后尺取的求满足条件的最优解。图中i指向长方形的上边界,j指向下边界。l,r指向的都是列,当r右移的时候sum+=3,当l右移的时候sum-=1,根据sum和K的大小比较确定l,r的移动方向当sum<K时,将r右移,否则,将.
分类: 其他 发布时间: 10-19 21:03 阅读次数: 0

2020 CCPC网络选拔赛 3x3 Convolution

题意这个题我估计很多人都是卡到题意上了,妈的,公式一大堆。给一个N*N的矩阵和3∗33*33∗3的矩阵,起初给的3∗33*33∗3矩阵是K’,要想转换为K,只需将对应元素/矩阵元素的总和。定义矩阵C(A,K)=C(C[A][K],K)C(A,K)=C(C[A][K],K)C(A,K)=C(C[A][K],K)C[A][K]C[A][K]C[A][K]是这样计算的:以A[i][j]A[i][j]A[i][j]作为3∗33*33∗3矩阵的左上角,往右下扩展成3∗33*33∗3的一个矩阵,如果出边界了,默.
分类: 其他 发布时间: 10-19 21:03 阅读次数: 0

HDU Max Sum of Max-K-sub-sequence 单调队列

Max Sum of Max-K-sub-sequence题意给出一个有N个数字(N<=10^5)的环状序列,让你求一个和最大的连续子序列。这个连续子序列的长度小于等于K。思路借鉴的这位大佬的博客看完思路,结果敲WA了。 然后看了看大佬的代码后有一点不是很理解,遍历的是i,为什么将对sum[i-1]进行操作,最后求tmp的时候,又用到了sum[i], 后来想明白了。假如遍历到了i,用单调队列维护的是区间[sum[i−k],sum[i+1−k]...,sum[i−1]][sum[..
分类: 其他 发布时间: 10-19 21:03 阅读次数: 0

HDU Passing the Message 单调栈

Passing the Message题意给出一组数,求每一个数左边(和右边)连续比他小的数中最大的数的位置。思路我们先考虑如何求它的左边连续比它小的数中最大数的位置,这就用到一种简单的数据结构了——单调栈单调栈:单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减),这里我们要用到是单调递减栈(即从栈底到栈顶下标是递增的,但是数据是递减的)顺便说一下,单调递增栈(从栈底到栈顶下标是递增的,但是数据也是递增的)。原理的话看完代码你品你细品.
分类: 其他 发布时间: 10-19 21:02 阅读次数: 0

HDU 1506 Largest Rectangle in a Histogram 单调栈

题意求直方图最大矩形的面积思路这个题和Passing the Message思路差不多(用单调递减栈维护区间最小值逐渐更新答案。本题是用单调递增栈维护区间最大值逐渐更新答案,用resl[i]记录左边比hei[i]大(含等于)的值的最小下标。遍历到hei[i]的时候,如果栈顶的元素比hei[i]大,就将res[Q.top()]的值更新resl[i], 然后出栈,如果栈顶的值比hei[i]小,就直接入栈。然后再求resr[]数组。resr[i]存的是在i的右边比他大的值的最大下标。代码#prag.
分类: 其他 发布时间: 10-19 21:02 阅读次数: 0

Poj Segments (用叉乘判断线段相交)

Segments题意给出一些线段,问是否存在一条直线,使得这些线段在该直线上的投影有公共点思路我看一个大神的博客后,才知道该问题可以转化为是否存在一条直线m与所有的线段相交,与m垂直的直线l就是所求的直线。我们可以枚举两个线段的端点两两组合( 两个端点取自不同的线段),作为直线m的一个线段(实际上因为所给的线段是有限的,所以如果存在直线m的话,完全可以取该直线的一段与给定的所有线段相交),为什么我们枚举两个不同线段的两个端点所形成的直线就可以呢?假设这条直线存在,我们总是可以将该直线平行移动,直.
分类: 其他 发布时间: 10-19 21:02 阅读次数: 0

Poj Intersecting Lines (求直线交点)

思路有两个公式1.已知两点坐标(x1,y1,),(x2,y2).求直线方程(一般形式)Ax+By+C=0Ax+By+C=0Ax+By+C=0A=y2−y1,B=x1−x2,C=x2∗y1−x1∗y2A=y2-y1,B=x1-x2,C=x2*y1-x1*y2A=y2−y1,B=x1−x2,C=x2∗y1−x1∗y22.已知两直线方程(一般形式)A1x+B1y+C1=0A_1x+B_1y+C_1=0A1​x+B1​y+C1​=0A2x+B2y+C2=0A_2x+B_2y+C_2=0A2​x+B2.
分类: 其他 发布时间: 10-19 21:01 阅读次数: 0

穷游焦作周边之大沙河

题记本人是河南理工大学的一名大三的学生,学习的计算机转专业,来焦作已经有三年了。因为兴趣,参加了学院的ACM协会(现在称为算法工作室),我有三大兴趣爱好,敲代码,骑行,摄影。在闲暇之余,回来一场说走就走的骑行(当然是在焦作周边哈),很多时候没有规划,跑到什么地方是什么地方,这样做的勇气是有手机啊,回不去就直接导航回去了。所以各位出去游玩的时候一定要保持手机有电!大一大二的时候焦作周边基本玩的差不多了。转眼都到大三了,突然想写点东西,于是我决定,接下来的一年再次游焦作周边,写下骑行日记,希望给学弟学妹们一.
分类: 其他 发布时间: 10-19 21:01 阅读次数: 0

POJ The Doors (构图+最短路)

The Doors思路这个题最难的就是建图了,建图之后求个最短路也就出来了,说下我的建图方法,首先我用pos[ ] 数组将起点和终点以及每个墙线段的端点作为图的顶点(去除墙根的两个点,因为没有意义)。然后用 seg[][]数组表示每个墙的各个线段的信息,seg[i][] 表示第i个墙的信息,这个数组的目的主要是为了:遍历pos[]数组的每两个点判断是否能建边,如果这两个点形成的线段被之间的墙挡住了(与该墙中某一个线段相交),就无法建边,否则建边。这里我再说一下判断线段a-b和c-d是否相交如何判断.
分类: 其他 发布时间: 10-19 21:01 阅读次数: 0

浙江省赛 CONTINUE...? (思维)

CONTINUE…? 题意班里有N名同学,编号为1、2、3……N,第i名同学有i个宝石。让我们将这N名学生分成G1,G2,G3,G4四个组,且满足以下规则每一个同学仅且只能分到一个组女同学只能分到G1或者G2组,男同学只能分到G3或者G4组 (这N个同学的性别会以字符串的形式给出,‘1’表示男同学,‘0’表示女同学)G1+G3的宝石数量等于G2+G4的宝石数量允许有一个组为空问这N个同学各自分到了那一组,如果答案有多种,随意输出一种即可。思路我们先考虑不可能的情况, 假设:.
分类: 其他 发布时间: 10-19 21:01 阅读次数: 0

Poj Kadj Squares (几何)

Kadj Squares题意给N个正方形的边长,沿着左下顶点逆时针旋转45度放置,此时一顶点在x轴上。第一个正方形的一顶点在y轴上,从左向右一次放置,允许边重合但不允许面积相交,求那些正方形从上往下看时可以被看到。思路一开始我是先求出来b的坐标,进而知道左右端点的坐标,然后判断举矩形是否被覆盖,不知道是写错了还是被卡了精度。后来发现我们可以将边长扩大2\sqrt 22​倍,这时求的左右端点就都是整数了。然后根据左右端点判断是否被覆盖即可。代码#pragma GCC optimize(2)/.
分类: 其他 发布时间: 10-19 21:00 阅读次数: 0

POJ Pipe (几何)

Pipe题意有一个弯形的管道,给出每个上拐点的坐标,起点和终点也视为拐点。下拐点的y坐标是上拐点y坐标-1,x坐标不变,问从管道的左端点射出一条光线,光线能够到达的最远的x坐标是多少?思路这道题我考虑了极限法,即最远的光线一定经过两个拐点(可能都是上拐点,或者都是下拐点,也可能一个上拐点一个下拐点,当然最远的光线不止一条,但肯定有一条经过两个拐点,可以平移得到),然后枚举两个拐点构成的直线,判断是否合法,如果合法求它能到达的最远的x坐标。如何判断该直线是否与管道相交呢?我是求出相应的y坐标与上下拐.
分类: 其他 发布时间: 10-19 21:00 阅读次数: 0