自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 rand和srand和bug

rand()和srand()rand和srand,是C++中常用的随机数生成函数伪随机数生成函数。其中 rand()函数不需要输入参数,它会返回0到RAND_MAX之间的任意的整数。如果我们想他返回[0,n-1]内的整数,我们可以写:int x = rand()%n;返回[0,1]double x = rand()/RAND_MAX;;但是,每当我们重新运行一次,得到的X的值总是保持一致,他们一开始随机的起点总是一致的,这是我们不想看到的,于是就有了srand()来引入不同随机种子的函数。

2021-08-31 09:53:53 255

原创 贝塞尔曲线WIN32实现,不用WIN32自带的贝塞尔API实现

贝塞尔曲线WIN32实现,不用WIN32自带的贝塞尔API实现#include <windows.h>#include <math.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppN

2020-05-26 13:59:22 282

原创 VS2019如何创建WIN32程序

首先:VS2019这个程序中是没有win32及win32项目的。过程:新建项目->Windows桌面向导->创建项目,会弹出来一个框->框里面选择桌面应用程序(.exe)->选择建立空项目->创建。结果:会得到一个与原来WIN32一样库的一个空项目。...

2020-05-26 12:29:13 9556 3

原创 Unity3d HTTP GET和POST 两种实现方法,以及unity的JSON解析

using System.Collections;using System.Collections.Generic;using UnityEngine;using MiniJSON;using System;using System.IO;using System.Text;using System.Net; public static string HttpGet(string sense, int num) { try {

2020-05-12 22:33:04 1633

原创 POJ1742 Coin 背包 男人8题系列

传送门题意:给你N种硬币,以及每个硬币的个数,问能组成多少种不同的价值。题解:介于多重背包和完全背包之间?我是这么理解的。具体解释见代码AC-CODE//#include <bits/stdc++.h>#include<algorithm>#include<vector>#include<iostream>#include <...

2019-11-21 11:18:31 115

原创 POJ1741(树分治之点分治)——真男人8题系列

传送门题意:给你一颗树,这棵树有n个节点,问书中有多少个点对(u,v)他们的距离是小于K的。题解:树分治中的点分治。树分治入门系列。A:首先从无根树中随便找一个点为其根节点。然后我们讨论个点。符合题目要求的点对可以分为两种其一为:小于K的点对(u,v)的最小路径通过根节点root。(显然点对的最小路径,LCA(u,v) = root)其二为:小于K的点对(u,v)的最小路径不通过通过根...

2019-11-16 20:04:00 162

原创 HDU6567(树重心模板练习题)

传送门题意:给你两棵树,让你把这两颗树连接起来,要求连接起来的树的任意两个节点的距离最小题解:树重心模板训练题,找到这两颗树的树重心,然后连接,最后求一次,树中所有路径的长度。PS:因为没颗树的节点数是不清楚的,只有找到树的节点数才能DP找到树重心,所以要在重心之前DFS一遍找树大小,这里也可用并查集来实现。笔者在这里WA了10发。。。。AC-CODE#include <bits...

2019-11-09 16:56:40 396

原创 POJ1655 树重心模板题

传送门树重心:树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。题意:给你一颗树,找出这棵树的重心和对应的最大子树的节点数。题解:d[i]表示以i为节点的子树的节点数,然后d[i] = sum(d[j])+1,j的范围为i的子节点,一次dfs就可以了。code#i...

2019-11-08 20:08:19 377

原创 POJ1330(倍增LCA解法)

传送门题意:给你一颗树,让你找出两点的最近公共祖先。题解:LCA模板题,这里我使用倍增的方法解决我使用倍增来在线求 LCA ,时间和空间复杂度分别是 O((n+q)logn) 和 O(nlogn) 。q是查询次数。算法基本思想:    ①如果 a 和 b 深度不同,先把深度调浅,使他变得和浅的那个一样    ②现在已经保证了 a 和 b 的深度一样,所以我们只要把两个一起一步一步往上移...

2019-11-06 16:46:41 626

原创 Codeforces Round #592 (Div. 2)A-D

传送门A:签到code#include <bits/stdc++.h>using namespace std;const int mx = 1e5 + 7;typedef long long ll;list<int>x, y, z;int n;int main(){ ios_base::sync_with_stdio(false); c...

2019-11-06 10:25:06 79

原创 Codeforces Round #585 (Div. 2)A-D

Codeforces Round #585 (Div. 2)A-DA题:题意:就是给你两个队的人数和每个人吃几个黄牌会下场,然后两个队伍的人数和已经发出去的黄牌,问最多和最少能让多少的球员下场。题解:emm就是一个分类讨论的暴力签到题。当阅读理解做吧,这里就不给题解了。代码:#include<cstdio>#include<iostream>#include&...

2019-09-17 16:39:45 175 1

原创 bzoj[3262]陌上花开==洛谷P3801 (CDQ分治+树状数组)

bzoj[3262]陌上花开==洛谷P3801 (CDQ分治+树状数组)题意:三维偏序。给你N个花,每个花有三个属性。一个花的三个属性都分别大于等于另一朵花的时候,等级+1,问从0到N-1级,每一级有多少朵花。题解:这题目可以树套树,CDQ套CDQ,KD树等等。这里用CDQ分治+树状数组来解题目和解释。这里花的三个我用x,y,z来表示总的来讲就是,第一维度就直接sort排序,第二维度用CD...

2019-09-13 17:33:27 174

原创 南昌网络赛C The 2019 Asia Nanchang First Round Online C(线段树维护矩阵相加,线段树上挂DP)

The 2019 Asia Nanchang First Round Online C(线段树维护矩阵相加,线段树上挂DP)题意:给你一个字符串,要你保留其中9102的子序列,同时去除8102的的子序列,问删除的最小的字符个数是多少。题解:线段树+DP。DP挂在线段树。我感觉还有其他的DP优化。A:首先,9102和8102不好处理,所以我们倒着找2018和2019,然后查找也倒一下。B:...

2019-09-10 17:18:05 164

原创 codeforces 1096D Easy Problem dp(字符串DP)

codeforces 1096D Easy Problem dp题目链接[https://codeforces.com/problemset/problem/1096/D]题意:给你一个字符串,每个字符都有对应的价值,然后给你一个目标串hard,要求这个字符串中没有包含hard的子序列(即,可不连序,如haarrdd也不允许),问删除若干个字符后,达到这个要求,问删除的最小价值。题解:二维D...

2019-09-09 12:35:18 259

原创 洛谷P2365任务分配(斜率优化+思维+DP)

P2365任务分配(斜率优化+思维+DP)题意:N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务。从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti。在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和(同一批任务将在同一时刻完成)。每个任务的费用是它的完成时刻乘以一个费用系数Fi。请确...

2019-08-22 16:12:08 235

原创 HDU(6695)2019杭电多校第十场1005

HDU(6695)2019杭电多校第十场1005(某某大佬的STL练习题)题意:给你几对点,其中每一对必须选一个点,问两个列的最大值的最小值是多少。这称为a,b列。题解:多个STL库混着用就完事了。A:把b列的所有值都放到multiset中(set不能放重复值,这个可以)B:根据a列的值sort从小到大一下,然后遍历一下,把之前的值都放在一个SET中。C:在遍历的过程中,每一次循环删除之...

2019-08-21 20:51:44 213

原创 洛谷P1523 旅行商简化版(DP常用思想)

洛谷P1523 旅行商简化版题意:一个及其简化的NPC问题,具体看题目吧。题解:一道DP思维题,自己的想法三重循环而且写错了,路漫漫其修远。A:这道题是一个来回的问题,那我们可以想象就是找两条完全不重合的路(也可以两个人来走两条完全不同的路),都从最西边到最东边。(DP经典思想)B:由上述的想法出发设计DP,DP[i][j]代表了,第一个人到i节点,第二个人到j的花费。要求i<jC...

2019-08-20 19:41:42 242

原创 2019杭电多校第9场1002 Rikka with Cake HDU6681

2019杭电多校第9场1002 Rikka with Cake HDU6681题意:给你若干个点按上下左右切割平面,最后问平面内有几块被切割开来。解法:红黑树+思维+贪心A:容易得出,平面内有多少个交点,那么就有这么多个+1的平面被分割出来,所以这题目就是找点。B:将U,D,L,R分开来存在四个结构体中,然后分类讨论U和L相交的点数,U和R相交的点数,D和L相交的点数,D和R相交的点数,最...

2019-08-19 17:43:49 188

原创 2019牛客多校第九场F Popping Balloons

2019牛客多校第九场F Popping Balloons题意:给你若干个高度为h的树,然后砍y次,正好将所有树砍完,每次都是横着砍所有树,要求每次砍下所有的树的高度都一样,问第x次的时候砍到了什么高度。解法:主席树+二分A:这里的二分其实不是很严谨,主要是利用了主席树的递归搜索。B:在查询的时候注意精度的问题(eps),然后这里我采用了递归建立主席树的方法,不是很推荐,只是比较好写,有一...

2019-08-19 09:22:36 150

原创 2019牛客多校训练第十场F Popping Balloons

2019牛客多校训练第十场F Popping Balloons题意:二维平面内给你若干个点,然后你可以在x轴和y轴分别射三枪(每一枪的间隔是R),问最多能射掉多少气球。题解:贪心。这个应该只能算作假算法吧。。。。不过大佬的思想还是很厉害。A:用一个哈希数组来记录x轴每一列有多少对应的气球,然后排序。假设当前的x坐标就是第一枪的坐标,然后记录有多少个气球能这样能击破。B:然后从大到小排序,只...

2019-08-17 20:46:44 188

原创 牛客多校训练第八场E Explorer

牛客多校训练第八场E Explorer题意:给你N个点,M条边,无向图,然后每条路只能通过一个区间(L[i],R[i])0内的数,问一共有几个数能从1走到N。题解:1.LCT模板题。2. 线段树+并查集。由于我不会LCT,题目我是用法2写的。A:线段树的每一个叶子节点维护一个区间,这个区间管辖的为(L[i],R[i]+1),这样子能保证最后加上结果的时候不重不漏。线段树维护区间的时候,把...

2019-08-16 19:40:04 155 2

原创 牛客多校第七场E Find the median

牛客多校第七场E Find the median题意:每次在一个空区间内加入[L,R]区间内所有的数,然后问每次加入后的中位数是什么。题解:一道线段树的题目。A:线段树的叶子节点维护了一个区间,这个区间是[L,R+1),为什么是这区间?(因为这样能不重不漏的包含所有的区间,每次查询的时候也不会漏掉,自己画一颗线段树基本能明白了)。B:然后查询的时候,记录一下这个区间的个数,然后减去这个区间...

2019-08-16 10:08:26 135

原创 杭电多校第七场 1011 Kejin Player HDU(6656)

杭电多校第七场 1011 Kejin Player题意:给你N行,代表从i级有花费a[i]元的r[i]/s[i]的概率达到i+1级,剩下的概率中可能会到达x[i]级。然后询问从L级到R级的花费会是多少。闲话:这场也是真自闭了,开始先去看fianl exam去了,然后疯狂自闭近两小时,最后看最后一题A了很多人就去看看了,开始想线段树+概率DP,百度了很久学习这个东西,然后突然发现其实递推就可以了...

2019-08-12 19:33:34 237

原创 2019牛客多校第八场 B Beauty Values

2019牛客多校第八场 B Beauty Values题意:给你一串数字,求出每个连续字串中有多少个不同的数字。闲话:今天全天不在状态(19年不再碰KFC了),幸好队友给力,我只想到了一点点东西,就突然A掉了。这题比赛的时候推了半天没弄明白,晚上看队友的代码有了一点理解。写在这里。题解:一个递推的思维。记录每个值对多少个区间有贡献,当重复出现的时候,就减掉贡献,相当于抹去了其贡献,加入了新...

2019-08-10 21:37:49 122

原创 2019牛客暑期多校训练营(第7场)C Governing sand

2019牛客暑期多校训练营(第7场)C Governing sand题意:给你N种树,第一列是高度,第二列是砍伐一颗的代价,第三列为多少颗。需要让最高的树的个数是所有树个数的一半多,问达到这样的最小的代价为多少。闲话:比赛最后12分钟才想到一个合理的优化,赛后才A出来,也是很难受了。题解:暴力+贪心枚举。A:大致思路:无论在什么情况下,那颗树的高度都是N颗树的高度中的一颗,那么遍历整个N,...

2019-08-08 20:41:03 206

原创 杭电多校第5场1004(HDU 6627)equation

杭电多校第5场1004(HDU 6627)equation题意:给你若干个a,b让你解决一条公式,解方程。传送门解法:每个绝对值内部都有一个零点,对这些0点排序,所有绝对值的情况只剩下N+1种。从全为负的,到第一个绝对值内部为正,然后第一第二个为正,一直推到全为正的,每次解方程然后判断值是不是在这个区间内。注意判断-1和0。(WA到绝望,赛后对拍数据发现过了98%的样例,只是特判-1的情况写...

2019-08-08 11:17:44 125

原创 HDU杭电多校第五场 6628 permutation 1

HDU杭电多校第五场 6628 permutation 1题意:找某个序列字典序的第K个差值序列的。闲话:一直以为是有公式的,以为可以/8!然后mod7!这样一直往后做,过了几组样例然后就被反驳了。后来去了解了一下8!的解法,真的暴力。解法:对于后8位进行全排列,然后利用sort找差值序列里面第k个字典序的序列,输出。时间复杂度真好可以卡过,我的程序跑了800ms+。小于8位的直接全排列就O...

2019-08-06 20:37:54 127

原创 【2019杭电多校第五场1006=HDU6629】string matching

题意:求一个字符串的所有后缀子串和原串的比较中要比较几次,才能得到最长公共前缀。题解:扩展KMP裸题,用KMP推了2小时硬是没有弄出来,最后队友问我还有什么比较算法,突然想到还有扩展KMP然后百度了一下就直接过了。(谢队友不杀)听说还有用马拉车过的。。。。PS:首先,所有的extend[i]+1,因为一个长度为N的串,那么其比较次数必然>=N。所有扩展KMP的extend[i]中,如果...

2019-08-05 20:59:35 143

原创 2019牛客暑期多校训练营(第六场)J Upgrading Technology

2019牛客暑期多校训练营(第六场)J Upgrading Technology题意:给你N个技能,每个技能有M个等级,第Ni个技能从Mi级到Mi+1级的代价为矩阵中的D[i,i],当每个技能都升级到i级后,有一个必须领取的d[j]的奖励。问:最大的收益会是多少。题解:我的方法是一种暴力枚举,听别人说其实本质是一种DP,但是我感觉这个一个贪心+思维。A:我们来考虑一下,结果会是怎么样的。即所...

2019-08-05 09:36:56 129

原创 牛客多校第5场 G题 subsequence1

牛客多校第5场 G题 subsequence1题意:一个S的串中有多少个比T大的子序列(不连续的),要取模。题解:纯DP的题目。建立一个三维DP[i][j][3],i,j代表了S的前i项有多少种子序列能匹配T的前j个数字。最后一个维度3,代表有三个矩阵,一个是S的前i项有多少种子序列能大于T的前j个数字(2),个是S的前i项有多少种子序列能等于T的前j个数字(1),个是S的前i项有多少种子序列...

2019-08-02 11:21:52 110 2

原创 HDU6620 杭电多校第四场1007 Just an Old Puzzle

HDU6620 杭电多校第四场1007 Just an Old Puzzle题意:就是让你还原一个矩阵到原图中的目标矩阵(不过那些看七巧板的人是怎么发现这个目标矩阵的。。)解法:网上看到了一个逆序矩阵的话:假如两个矩阵,从左到右,从上到下排序,两个矩阵的逆序数+空所在行+空所在列数的值的奇偶性相同,则可以还原或者说等价;若不同,那就无法还原。emm,在我实际写这题目的时候,出现了一点问题,我的...

2019-08-01 09:43:17 125

原创 HDU6623 2019杭电多校第四场1010 Minimal Power of Prime

HDU6623 2019杭电多校第四场1010 Minimal Power of Prime题意:给一个数,将其分解为若干个质因数的乘积,问:其中重复出现次数最少的个数是多少。如:36 = 2 * 2 * 3 * 3,2出现两次,3 出现两次,最少的还是两次,输出2.PS:鬼知道这么短一道题目怎么有这么长的意思,要不是队友想出来,我就炸了题解:分析一下,将数分为小于1e4的与大于的数。A:...

2019-08-01 08:57:42 164

原创 2019杭电多校第三场1007 HDU-6609 Find the answer

2019杭电多校第三场1007 HDU-6609 Find the answer题意:从第一项到第i项的前缀和,如果大于K,问最少删除多少个[1,i]区间内的元素才能小于等于K。因为一共有N个数,所以有N个前缀和,要输出N个值。PS:最后一个数后面也有空格,这个真的过分。题解: 建一颗空的[1,n]线段树(用来维护值的个数和总和)。因为第一个数一定符合(<=K),所以直接输出第一个0,...

2019-07-30 14:01:36 155

原创 2019年牛客多校第三场 I Median(DP+思维)

2019年牛客多校第三场 I(DP+思维)这道题,主要还是要想通,如果某个数被三个中位数影响,那么这个数可以是其中一个。证明:假设这个数,和三个中位数都不相等,那么这个数,要么大于最大的,要么小于最小的。举例(另一个例子就是对称的):假设这个数大于最大的,如果想要改变某个中位数,那么便需要将这个最大的调小;如果想要不改变三个中位数,那么这个数不变(依旧最大),或者直接和对应中位数相等即可。即:...

2019-07-30 09:27:08 183

原创 2019年牛客多校第三场 F(暴力+思维+模拟单调队列)

2019年牛客多校第三场 F(暴力+思维+模拟单调队列)题意:找一个最大子矩阵,在这个子矩阵中最大的元素减去最小的元素,差值小于K。题解:A:首先,暴力遍历每一列,找到每一列的最大值,最小值。(这里不是简单的遍历)比如有3*3的矩阵,第1行所有列(每一列的最大值,最小值),第1-2行所有列(每一列的最大值,最小值),第1-3行;第2行,第2-3行,第3行。等等以此类推记录B:然后,开始从...

2019-07-26 18:02:09 186

原创 2019年杭电多校第一场 1001题blank(DP)HDU6578

2019年杭电多校第一场 1001题blank(DP)HDU6578解决思路,开一个DP数组来存储0 1 2 3四个字符最后出现的位置,并且在DP中已经==排好序==。DP开四维,DP[i][j][k][2],最后一位开==滚动数组==,用来记录上一个字符串长度时各个位置信息(及滚动继承),i,j,k分别记录==三个字符==的位置,因为无论在什么情况下,必定有一位它最后的位置和字符串的长度相等,所...

2019-07-24 09:48:26 293

原创 2019年杭电多校第一场 1004题Vacation(分析)

2019年杭电多校第一场 1004题Vacation(分析)题目链接.解决思路代码题目链接.解决思路将每一辆车都假设认为是能让Tom车堵住的车辆,那么他们每一辆车(a[i])需要到达的终点就是TOM车前面所有车的长度和加上当前车辆a[i]距离终点的距离。然后除a[i]速度得到时间T。然后就是一个一个求,找到时间T最大的就是答案。毕竟无论那辆耗费时间最长的车在哪里,我们的Tom车都会被堵在该...

2019-07-22 20:03:19 210

空空如也

空空如也

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

TA关注的人

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