自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021年CCCC-总决赛

1-1print("To iterate is human, to recurse divine.")1-2#include <bits/stdc++.h>using namespace std;int n, m, k;int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> m >> k; cout << max(n - m * k, 0); r

2021-04-27 21:13:25 483

原创 2021 HZNU Winter Training Day 18

目录SolutionsA. 星球大战starwarB. MedianC. Obtain Two ZeroesD. Naive OperationsE.SolutionsA. 星球大战starwar题意:给定nnn个点和mmm条边,然后依次摧毁kkk个点,问在摧毁第000~kkk个点时图中有多少个连通块。思路:查找连通块数量肯定不能O(n)O(n)O(n)查找,并且在并查集中删除点比较难处理,所以我们选择倒序处理,每次往并查集中加入点。在处理连通块数量时要选择常数较小的方法,不然很容易就T了。我

2021-02-21 23:18:38 344 1

原创 Codeforces Round #700 (Div. 2)

目录Contest InfoSolutionA.B.C.D1.D2.Contest InfoPractice LinkSolvedABCD1D2E5 / 6OOØØØ-O 在比赛中通过Ø 赛后通过! 尝试了但是失败了- 没有尝试SolutionA.题意:两个人可以轮流选择字符串中一个未被选择过的字符,将它改成另一个不相同的小写字母。第一个人想让字典序小,第二个人想让字典序大,输出最终的字符串。思路:从左到右改,特判下a和z就好了

2021-02-08 11:56:07 231

原创 2021 HZNU Winter Camp -- LCA

Codeforces Round #620 (Div.2) E题意:给你一棵树,每次询问给出五个整数xxx, yyy, aaa, bbb, kkk,问你在xxx和yyy之间加上一条边后,从aaa到bbb是否有长度正好为kkk的路径,同一条边可被重复计算进路径长。题解:我们设aaa到bbb的路径长度为zzz。显然,我们可以得到所有长度为z+2∗iz + 2 * iz+2∗i的路径。所以,当zz%2z的值与kk%2k的值相等,并且zzz≤\leq≤kkk时,我们不需要借助添加的边即可得到答案。当我们借

2021-01-24 20:49:41 244

原创 java 抽象类和接口

一、抽象类在继承的层次结构中,每个新子类都使类变得越来越明确和具体。如果从一个子类追溯到父类,类就会变得更通用、更加不明确。类的设计应该确保父类包含它的子类的共同特征。有时候,一个父类设计得非常抽象,以至于它都没有任何具体的实例。这样的类称为抽象类(abstract class)。例如,我们可以定义一个Geometry抽象类型代表几何图形。abstract class Geometry { private String color = "white"; protected Geometry()

2021-01-07 22:31:19 148

原创 java 多态

多态,按字面理解就是“多种状态”的意思。在实际运用中,比较简单的一个例子就是子类和父类的互相转型。在满足向上转型(创建子类类型,赋值给父类类型)时,我们应满足以下条件:存在继承关系子类要重写父类的方法父类指向子类(即 父类 对象名 = new 子类类型)例如:class Human { int age = 20; public void id() { System.out.println("人"); } public static void breath() { Sy

2021-01-07 21:38:04 81

原创 Codeforces Round #693 (Div. 3)

Codeforces Round #693 (Div. 3)目录Codeforces Round #693 (Div. 3)Contest InfoSolutionA. Cards for FriendsB. Fair DivisionC. Long JumpsD. Even-Odd GameE. Correct PlacementContest InfoPractice LinkSolvedABCDEFG5/7OOOOØ--O 在比赛中通过

2021-01-05 23:19:35 131

原创 java正则表达式

一、概念正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。二、举例正则表达式为一个字符串,其中[]内的部分代表其中的任意字符。例如[abc]代表a或b或c。我们还可以用[a-z]这种形式代表某一字符区间。有了正则表达式,我们能很简洁的去匹配、替换、切割字符串。(1)查找import java.util.regex.Matcher;impo

2021-01-04 20:36:03 91

原创 2020 icpc 上海 云游记

虽然打得很臭,但是毕竟是第一场icpcicpcicpc,还是记录一下。坑了队友真是万分抱歉,建议加训QAQ。为啥打上海站呢,因为期末有点小忙,想早点打完早完事儿,感觉都差不多(不能公费旅游),所以和队友一起选了上海站打。热身赛直接爆0了是我没想到的。当时AAA的规律我花了一会儿时间找到了,但是底数莫名奇怪算了个(n−1)!(n-1)!(n−1)!。队友看了BBB、CCC觉得没思路,就一起搞AAA,但是在我的影响下啥也没搞出来。第二天正赛,开始的时候疯狂找题,读懂了LLL,但是队友找到了题面很短的GGG

2020-12-14 00:03:14 2150 8

原创 2018 ICPC Nanjing M. Mediocre String Problem(哈希+二分+马拉车+差分)

题目链接题意: 给你两个字符串sss和ttt,对于ttt中所有的前缀串kkk,你要在sss中找到所有的子串sijs_{ij}sij​,使得sijs_{ij}sij​长度大于kkk,并且将sijs_{ij}sij​与kkk拼接后得到的字符串为回文串。问你最终的数量和。题解:为了让最后的字符串是回文串,对于前缀串kkk,我们要先在sss中找到与前缀串kkk一样的子串,再向后扩展,使得扩展的那部分字符串为回文串,即可实现。我们先将ttt进行反转,然后去遍历sss,那么现在的问题就转换成了找两个字符串的最长后

2020-11-21 13:49:04 432

原创 洛谷P3605 [USACO17JAN]Promotion Counting P(离散化 + 树状数组 或 线段树合并)

题目链接题意:给你一棵以111为根节点的树和每个点的点权,问在每个子树中,有多少个子节点的点权小于根节点。题解:首先对值进行离散后,之后有两种方法可以解决。树状数组求有几个比一个值小的值,想到了树状数组。对树从树根进行dfsdfsdfs,每次dfsdfsdfs到一个点的时候,先减去当前树状数组中比这个节点值小的个数,最后dfsdfsdfs完之后再加回去。答案 = - 祖先 + (祖先 + 子节点),所以得出了答案。#include <bits/stdc++.h>using na

2020-11-18 13:13:48 189

原创 CodeForces - 600E Lomsat gelral(线段树合并)

题目链接线段树的合并是从这里学的题意 :给你一棵以111为根节点的树,树上每个点有一个颜色,用111~nnn的编号表示,问在以每个点为根节点的子树中,出现次数最多(可能有多种颜色出现次数一样)的颜色的编号和是多少。题解:处理子树问题,并且大的子树的值可以由它的左右子树的值确定,所以想到了线段树的合并。空间复杂度在玄学的证明下大概是O(nlogn)O(nlogn)O(nlogn),但是好像会带个2的常数,所以要开2nlogn2nlogn2nlogn倍。1e51e51e5大概要开323232倍。#inc

2020-11-17 20:30:43 206

原创 洛谷P1494 小Z的袜子(莫队板子)

题目链接题意:求区间内任取两点,颜色相同的概率。题解:对于一个[l,r][l, r][l,r]的区间,我们设一个num数组,num_i代表当前区间第i个颜色的数量,那么我们最终需要求出的

2020-11-12 09:06:22 201

原创 分块——以poj3468和洛谷P4168为例

当我们遇到简单的区间问题时,一般会想到树状数组或者线段树。但是当区间信息不符合区间可加可减性时,我们就要另寻他路了。这时我们可以选择用分块来解决问题。分块要将你要处理的区间划分成长度大致相等的几块。为什么是大致相等呢?因为最后一个剩下的区间长度是难以控制的,剩下来的长度我们就让它自己成为一个区间,大概是这个样子。然后我们记录下每个区间的左右极限,以及每个点所在的区间,比如点1在第一个区间,点5在第二个区间,之后在进行区间处理的时候,访问它们所在的区间。读入数据后要先预处理如果它们在一个区间内,例如

2020-10-30 22:12:42 281

原创 HDU - 6006 Engineer Assignment(状压dp)

题目链接题意:有n个任务,完成这些任务需要一些领域的知识。有m个工程师,每个工程师都有一些自己会的领域。每个工程师只能选择一个任务,若参与这项任务的工程师具备了完成所需的所有知识,这项任务则被完成。问最多能完成几个任务。题解:题目给的n和m都很小,所以想到了状压DP去实现。dp[i][j]表示前i个任务在使用工程师j状态下最多能完成的任务个数。在维护dp状态之前,要额外跑一遍来确定能完成第i个任务的方案,用于最后的状态转移。#include <bits/stdc++.h>using na

2020-10-27 20:34:40 126

原创 Codeforces Round #677 (Div. 3) F. Zero Remainder Sum (DP)

题目链接题意 :给你一个n∗mn*mn∗m的矩阵,每行最多可以选择m2\frac{m}{2}2m​个元素,将它们的权值加起来,问最后可以得到的最大的能被kkk整除的值是多少。题解 :用dp[i][j]dp[i][j]dp[i][j]来维护1−i1-i1−i行使余数为j时能取到的最大值,每次去更新一行前,先用row[j][l][p]row[j][l][p]row[j][l][p]来维护这一行到第jjj个元素时,在取了lll个元素,余数为ppp的情况下能得到的最大值,再用row[j][l][p]row[j]

2020-10-23 15:40:17 185

原创 hdu - 3015 Disharmony Trees(树状数组 + 离散化)

题目连接题意:给你n棵树的坐标和高度,分别按两个值升序排序后,得到每棵树的排名,分别为uiu_iui​和viv_ivi​,求∑i=1n∑j=i+1nabs(ui−uj)∗min(vi,vj)\sum_{i = 1}^n \sum_{j = i + 1}^n abs(u_i - u_j) * min(v_i, v_j)∑i=1n​∑j=i+1n​abs(ui​−uj​)∗min(vi​,vj​)。题解:因为是区间求和,想到了树状数组。若想要一次性求一个区间,那么在这个区间中min(vi,vj)min(v_

2020-10-20 17:01:30 1675 6

原创 uva -12657 Boxes in a Line(数组实现双向链表)

题目链接题意 :111 ~ nnn的数字原本按顺序摆好,接下来有四种操作。1XY1 X Y1XY :将XXX移动到YYY的左边2XY2 X Y2XY :将XXX移动到YYY的右边3XY3 X Y3XY :交换X,YX,YX,Y的位置444 :翻转整个数字串经过这一系列操作后,最后输出奇数位上的数字和。题解 :有移动到左右的操作,所以想到了双向链表。由于是第一次写双向链表,写得很精污。注意 ∑i=1100000\sum_{i = 1}^{100000}∑i=1100000​会超出int范围,

2020-10-18 17:58:36 144

原创 poj -2960 S-Nim(SG模板)

S-Nim题意 :有lll堆石子,两个人轮流从其中一堆石子中取一定数量的石子,能取的数量有kkk种,问先手是否能赢。题解 :SGSGSG裸模板。注意他给你的kkk种数量可能不是按照升序给你的,所以要先sortsortsort一下。#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>using namesp

2020-10-04 10:07:09 181

原创 uva - 11988 Broken Keyboard (a.k.a. Beiju Text) (数组实现链表)

You’re typing a long text with a broken keyboard. Well it’s not so badly broken. The only problem with the keyboard is that sometimes the “home” key or the “end” key gets automatically pressed (internally).You’re not aware of this issue, since you’re focu

2020-09-23 23:24:06 131

原创 UVa -514(栈的运用)

There is a famous railway station in PopPush City. Country there is incredibly hilly. The stationwas built in last century. Unfortunately, funds were extremely limited that time. It was possible toestablish only a surface track. Moreover, it turned out t

2020-09-23 19:36:51 166

原创 Eclipse如何与github连接

这边先转载两个大佬的博客。安装Eclipse安装JDK14于是我们就配置好了我们的Eclipse,接下来就能开始链接github了。创建java文件刚点开Eclipse,他会让你指定一个workspace,这个自己设置好,点Launch就好了然后新建一个Java Project如果此时左侧没有显示窗口的话Window > Show View > Navigator然后建立一个Class,写一个hello world。安装Egit插件一路点下去,右下角会显示安装

2020-09-18 21:04:42 1789

原创 hdu - 6850 Game

Problem DescriptionDodo bird and ddd are playing a stone game on a 2-d plane. There are n points on the plane where they can put the stone. The rule is as follows:Before the game start, The stone is at the first point.Dodo and ddd move the stone in tur

2020-08-28 16:28:53 172

原创 hdu - 1269 迷宫城堡(判断强连通图, 瞎搞)

Problem Description为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存在一条路径可以从房间i到房间j,也存在一条路径可以从房间j到房间i。Input输入包含多组数据,输入

2020-08-22 23:37:08 175

原创 hdu - 2819 Swap 二分图匹配

Problem DescriptionGiven an N*N matrix with each entry equal to 0 or 1. You can swap any two rows or any two columns. Can you find a way to make all the diagonal entries equal to 1?InputThere are several test cases in the input. The first line of each t

2020-08-03 13:57:52 152

原创 hdu - 1045 Fire Net 二分图匹配

Problem DescriptionSuppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall.A blockhouse is a small castle that has four openings through which to

2020-08-03 10:55:07 230

原创 巴什、威佐夫、斐波那契、nim、反nim板子

巴什两个人在一堆n个物品中取1~m个,拿光者胜出。n = k * (m + 1) + b,若无余数b,后手可根据先手凑出m + 1,从而必胜。若有余数b,先手拿b个则必胜。void solve(){ cin>>n>>m; if(n % (m + 1)) puts("first"); else puts("second");}威佐夫...

2020-07-31 19:06:28 156

原创 uva - 10129 Play on Words(欧拉通路)

Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle is very important for us.There is a large number of magnetic plates

2020-07-29 20:15:45 163

原创 poj -2686(状压dp)

题面太长了就不放了。题目给你 n,m,p,a,b 5个数,分别代表票数,点数,边数,起点和终点,每张票有一个权值,每条边有一个权值,每走一条边消耗一张票,代价为边权值/票权值,问是否能从起点走到终点,以及最小的总代价是多少。刚开始写的时候莫名其妙给自己证明了一下最短路即为最优路,然后把路经边的权值排序后再和票权值匹配,于是就开心地过不了样例,即5/3 + 2/1 < 3/3 + 1/3。dp真的是一生之敌。#include<cstdio> #include<algorithm

2020-07-29 16:11:05 217

原创 poj 2528 线段树的离散化

DescriptionThe citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council has finally decided to build an electoral wall for placin

2020-07-21 09:13:57 197

原创 CodeForces - 1341D Nastya and Scoreboard(DP+贪心)

Denis, after buying flowers and sweets (you will learn about this story in the next task), went to a date with Nastya to ask her to become a couple. Now, they are sitting in the cafe and finally… Denis asks her to be together, but … Nastya doesn’t give any

2020-07-09 19:41:19 250

原创 hznu 1852-走迷宫(dfs)

DescriptionDr.Kong 设计的机器人卡多非常爱玩,它常常偷偷跑出实验室,在某个游乐场玩之不疲。这天卡多又跑出来了,在 SJTL 游乐场玩个不停,坐完碰碰车,又玩滑滑梯,这时卡多又走入一个迷宫。整个迷宫是用一个 N * N 的方阵给出,方阵中单元格中填充了一个整数,表示走到这个位置的难度。这个迷宫可以向上走,向下走,向右走,向左走,但是不能穿越对角线。走迷宫的取胜规则很有意思,看谁能更快地找到一条路径,其路径上单元格最大难度值与最小难度值之差是最小的。当然了,或许这样的路径不是最短路径。机

2020-07-07 22:12:42 339

原创 短学期题解——生猴子系列1

Descriptioncjc被ydw抓走了!别怕,我们有勇敢的勇士mwy。现在,mwy已经突破重重磨难,来到了最后一道关卡,但是他却被难住了,现在,是你拯救英雄的时刻了!给出一组正整数数组,输出其极大值中的最小的值和最大值。极大值表示这个数要大于等于旁边两个数(若此数在数组头部,则默认其大于左边,同理若此数在数组尾部,则默认其大于右边)。最大值表示在整个数组中的值最大的那个数。Input第一组输入一个正整数t。接下来有t组测试数据。每一组的第一行是一个正整数n(0<n<1000)。第二

2020-07-06 21:17:13 1410

原创 hdu 4578 -线段树的多种操作(要相信珂学)

TransformationProblem DescriptionYuanfang is puzzled with the question below:There are n integers, a1, a2, …, an. The initial values of them are 0. There are four kinds of operations.Operation 1: Add c to each number between ax and ay inclusive. In oth

2020-07-05 18:17:03 223

原创 hdu1698-线段树模板

Problem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length.Now Pudge wants to do some operations on the ho

2020-07-04 21:07:14 292

原创 短学期题解——kk数圈圈

短学期题解——kk数圈圈Description儿童节到啦,你是不是儿童呢,来验证一下吧!8888=85693=21012=14444=00000=4你能不能发现这些式子的特点呢?没错,就是计算数字里面的圈圈!KK发现这个特点后很开心,觉得自己能很厉害,于是老薛就问他“你知道一个一百位的数字里有多少圈圈吗”。KK想了很久发现自己真的不会,所以他来求助你,你知道该怎么做吗?Input第一行,n,代表下面的数字有n位(n<=1e6)一个数字,n位。Output圈圈的个数Samp

2020-06-29 21:26:56 5431 1

空空如也

空空如也

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

TA关注的人

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