自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

siyu

“我知道天下所有的宴席都有终结.但依然希望这一刻,这注定破碎成空的丰美和悲哀,永无停顿.”

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

原创 Codeforce1062C(数学+快速幂)

#Banh-mi传送门####思路:有题意可知在区间内取数的位置不影响结果,且要使得答案最大我们要从1开始取。1   1   1   0   0   01]  2   2   1   1   1     2]  4   3 &amp

2018-11-17 20:30:27 322

原创 Longest Valid Parentheses(DP/思维)

32. Longest Valid Parentheses传送门dp思路:问题->最长有效括号子序列长度状态->dp[i]以i为结尾的最长有效括号子序列长度(则str[i]= ‘)’ );子状态:如果str[i-1]= ‘(’ ---->dp[i-2]如果str[i-1]= ‘)’ ---->如果str[i-dp[i-1]-1]= ‘(’ --...

2018-10-13 16:03:53 408

原创 hdu6351(暴力+技巧)---2018多校5

Beautiful Now题目传送门#include <iostream>#include <fstream>#include <cstdio>#include <cstring>#include <queue>#include <stack>#include <vector>#include

2018-08-07 15:32:07 960

原创 hdu6341(dfs剪枝)

Let Sudoku Rotate题目传送门思路:每个4X4的方块要么不旋转,要么旋转3次,所以对每个方块旋转次数进行dfs,再通过剪枝优化时间复杂度。剪枝优化是通过判断当前方块的旋转是否影响这个方块所在的列与行的前一部分,如果有冲突那就没有必要继续搜下去。#include <iostream>#include <fstream>#include &lt...

2018-08-03 15:24:40 310

原创 简单Linux入门_7

Shell 输入/输出重定向 命令 描述 command > file 将输出重定向到 file。 command < file 将输入重定向到 file。 command >> file 将输出以追加的方式重定向到 file。 n > file 将文件描述符为 n 的文件重定向到 file。 ...

2018-08-02 10:56:40 110

原创 简单Linux入门_6

Shell 函数实例fun(){ sum=0 for((i=1;i <=$# ;i++));do let sum+=$i done return $sum}fun 1 2 3 4 5 6 7 8 9 10 11 12 13 14echo $?

2018-07-30 10:53:37 103

原创 简单Linux入门_5

Shell 流程控制if else格式if condition1then command1elif condition2 then command2else commandNfi实例num1=100num2=100if test $num1 -eq $num2then echo "=="else echo "!="f...

2018-07-30 10:19:01 103

原创 简单Linux入门_4

Shell 基本运算符算术运算符详细Shell 基本数值运算方式方式1:使用expr命令如a+b:expr $a + $b注意:变量名必须加$运算符两边必须有空格乘号必须使用*,避免被当作Shell通配符自行输出时需要使用反引号 `包含方式2:使用$[]或$(())表达式如a+b:echo $[a+b]与expr相比,可以省略$,运...

2018-07-28 10:11:12 121

原创 简单Linux入门_3

Shell 学习Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 用文本编辑器(可以使用vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),注意扩展名并不影响脚本执行。#!/bin/bash##! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo "Hell...

2018-07-26 10:46:43 108

原创 简单Linux入门_2

Linux vim命令模式:用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。以下是常用的几个命令:i 切换到输入模式,以输入字符。x 删除当前光标所在处的字符。切换到底线命令模式,以在最底一行输入命令。 若想要编辑文本:启动Vim,进入了命令模式,按下i,...

2018-07-26 10:24:34 124

原创 简单Linux入门_1

Linux 系统目录结构/bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc: 这个目录用来存放所有的系统管理...

2018-07-24 12:06:37 199

原创 Codeforce962D(暴力优先队列)

Merge EqualsYou are given an array of positive integers. While there are at least two equal elements, we will perform the following operation. We choose the smallest value x that occurs in the array...

2018-04-13 19:59:00 354

原创 Codeforce962B(二进制枚举暴力)

Make a Square传送门题意:给你一个数字(没有前导零),要求你删除一些数字,使得这个数字(不能有前导零)的平方根为整数。没有则输出-1.思路:数字不大,二进制枚举每一种组合情况。二进制枚举实现传送门#include <iostream>#include <fstream>#include <cstdio>#includ...

2018-04-13 19:08:05 228

原创 Codeforce962B(暴力)

Students in Railway CarriageThere are n n consecutive seat places in a railway carriage. Each place is either empty or occupied by a passenger. The university team for the Olympiad consists of ...

2018-04-11 22:13:00 207

原创 Codeforce960B(暴力贪心)

Minimize the errorYou are given two arrays A and B, each of size n. The error, E, between these two arrays is defined . You have to perform exactly k1 operations on array A and exactly k2 operations...

2018-04-10 20:41:56 187

原创 Codeforce961C(暴力)

ChessboardMagnus decided to play a classic chess game. Though what he saw in his locker shocked him! His favourite chessboard got broken into 4 pieces, each of size n by n, n is always odd. And what...

2018-04-10 19:00:17 291

原创 Codeforce957B(暴力模拟)

Mystical MosaicThere is a rectangular grid of n rows of m initially-white cells each. Arkady performed a certain number (possibly zero) of operations on it. In the i-th operation, a non-empty subse...

2018-03-27 20:54:31 383

原创 Codeforce954D(最短路)

Fight Against Traffic题意:有一个无向图有n个点m条边,且边权为1,给你s和t,现在要你加一条边,使得s和t之间的最短路径不变。问有多少条这种路径。思路:从s和t两点分别做一次最短路,然后遍历没有相连的两点,判断相连后是否影响最短路。#include <iostream>#include <fstream>#include &lt...

2018-03-23 20:52:32 159

原创 Codeforce931D(简单dfs+思维)

Peculiar apple-tree传送门题意:有一颗树,树上有n多花,都已经结果并按照一定规则掉落,把它们从1~n进行标号,只有当苹果掉到1时才能采摘。当偶数个掉到同一朵花上时,它们消失不见,如果是奇数则剩下一个。它们掉落的规则由一个大小为n-1的序列确定——–i花上的苹果掉到pi花上。保证它们的终点都为1;思路:掉落的轨迹可以看出它是一棵树,并且只有同深度的苹果才能互相影响到...

2018-03-15 20:04:43 280

原创 Codeforce931C(思维)

Laboratory Work传送门题意:给你一个长为n的序列,该序列的元素之间的差值不超过二,现在要你找出一个新的大小同为n的序列,其平均数于原序列相等,并且里面的元素大小要在原序列的范围之内。思路:要求大小为n,平均数相等,元素大小范围在原序列内,这说明要求在原序列中元素之间进行转化,而能转化的只有一种—a+1 + a+3 = 2*(a+2) 所以进行判断转化就可以了...

2018-03-14 20:59:00 166

原创 Codeforce937B(暴力)

Vile Grasshoppers题意:给你p和y,让你在(p,y]找一个最大的数,这个数不能被[2,p]中的数整除#include <iostream>#include <fstream>#include <cstdio>#include <cstring>#include <queue>#include ...

2018-03-10 16:46:03 222

原创 Codeforce919D(dfs记忆化搜索)

Substring题目传送门题意:给你一个有向图,有n个点和m条边。每个点有一个小写字母字符。问该图中的所有路径中重复字符最多是多少,如果无穷大输出-1.思路:很容易想到从入度为0点dfs所有路径取最大,但n非常大,简单的dfs会超时。可是,每个节点到其所有叶子节点的路径都是唯一的,只需dfs一遍即可。所以用dfs记忆化搜索,每一个节点用一个数组保存该节点到叶子节点的所有路径中

2018-02-01 16:41:33 270

原创 Codeforce919C(思维)

Seat Arrangements题目传送门题意:n*m个座位,按照矩阵排列,’.’表示没有人,’*’表示有人坐,让你找一排连续大小为k的座位,问有多少个。#include #include #include #include #include #include #include #include #include #include #include #i

2018-02-01 15:00:45 235

原创 Codeforce918C(贪心)

The Monster题目传送门题意:给你一个字符串,这个字符串由’(”)”?’组成,?可以转化为(、)。问该字符串的所有子串中有多少个子串中括号全部匹配。思路:数据大小为5000,因此可以在1s内枚举所以子串,所以要考虑如何判断子串是否符合条件。先不考虑?,我们可以想到一个模拟操作Satck,第一个字符一定为(,随后遇到(就入栈,遇到)就出栈,当需要出栈时如果栈空,那

2018-01-30 17:08:06 266

原创 CodeForces - 916B(贪心)

Jamie and Binary Sequence题目传送门题意:给两个数n、k,要你找出一个大小为k的序列s,要求Σ2^si=n,并且该序列最大的数最小,除去最大之后的序列字典序最大。思路:可以先忽略要求求出一个符合Σ2^si=n的序列,然后拆成符合条件的序列(Si=2*Si-1)。按照题目要求,我们拆最大的数,一直拆到序列大小符合k。这样拆满足了序列最大的数最小,但并没有满

2018-01-24 17:53:23 355

原创 CodeForces - 914C(组合数学+dp)

Travelling Salesman and Special Numbers题目传送门题意:给一个数n(二进制表示)和k,要求你在[1,n]中找到特殊数字个数,特殊数字能经历k次operations转化得到1。One opertion:该数(二进制)中有X个1则转化为X(十进制)。思路:n的范围超级大,但经过一次operation后缩小到[1,1000]以内,并且对于这个范围

2018-01-24 17:27:30 698 2

原创 CodeForces - 916C(构造)

Jamie and Interesting Graph题目传送门 题意:给你n,m,表示n个顶点和m条边,让你构造一个图,要求1.1->n最短路为prime、2.mst边权和为prime、3.没有重边、4.边大小[1,1e9。(题目给定m>n-1) 思路:先利用n-1条边构造出最短路和MST,使得最短路=sum_MST=prime),再连接剩下的边#include #includ

2018-01-20 14:20:36 576

原创 CodeForces - 803C(GCD+思维)

Maximal GCD题目传送门 题意:给你两个数n,k。要你找一个严格连续递增数列,要求序列有k个元素,和为n并且gcd最大。 思路:很容易知道,要使得gcd最大,那么最大公约数必为数列首项,所以其最大公约数一定是n的因子。最好的情况为1d,2d,3d……,kd(d为最大公约数),即有 k*(k+1)/2 个d。因此,我们只需要求出n的因子,找到小于等于n/k*(k+1)/2中最大的因子就是最

2017-11-22 19:06:26 309

原创 CodeForces - 892C(gcd)

PrideYou have an array a with length n, you can perform operations. Each operation is like this: choose two adjacent elements from a, say x and y, and replace one of them with gcd(x, y), where gcd deno

2017-11-20 11:10:29 644

原创 CodeForces - 892B(栈操作)

Wrath题目传送门#include <iostream>#include <fstream>#include <cstdio>#include <cstring>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#include <cmath>#include <algori

2017-11-19 18:40:45 351

原创 HDU - 5521(最短路+巧妙建图)

Meeting题目传送门 题意:有n个点,点按照1-n标号,m个集合,每个集合里面的点之间的距离都相等,有两个人,一个在1,另一个在n,他们要见面,且见面地点只能在点上,现在给出每个集合里面的点以及他们之间相等的距离,求他们见面的所需的最小时间和地点。 思路:很容易想到,分别从1开始和n开始做最短路,再从dis1和disn中取最大(实际时间为两者之间最大的),再取最小即可。但如果按照每个集合里面

2017-11-18 11:21:16 357

原创 HDU - 5510(暴力)

Bazinga题目传送门#include <iostream>#include <fstream>#include <cstdio>#include <cstring>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#include <cmath>#include <algo

2017-11-13 17:04:02 167

原创 HDU - 5934(强连通缩点)

Bomb题目传送门 题意:有n个炸弹,给出这些炸弹的坐标,爆炸半径和爆炸花费,如果在这个炸弹的爆炸范围内有其他炸弹,那么这个炸弹也能被引爆并且不需要花费,求使得所有炸弹爆炸所需的最小花费。 思路:我们可以按照炸弹的位置距离大小关系建图,当炸弹i可以引爆炸弹j时,则有i->j。如此我们就可以通过强连通找到联通块,该连通块内的炸弹可以互相引爆。那么所有连通块内引爆炸弹所需的最小花费之和是否是答案?不

2017-11-06 21:17:55 324

原创 ZOJ - 3993(思维)

Safest Buildings题目传送门 题意:吃鸡游戏,给出初始圈半径以及圈内的建筑,给你下一个圈的半径r(圈被要求在初始圈内),求最大概率为安全建筑的建筑有那几个。 思路:很简单可以知道,离中心越近越有可能,但事实上在某些范围内概率是相同的当r足够大或者足够小。我们把初始圈叫做大圆,下一个圈为小圆。当2*r大于R时,小圆内切大圆转一圈,可以发现以2*r-R为半径,以原圆心为圆心的圆内的点的

2017-11-01 19:57:34 937

原创 UVALive - 5135(点双联通分量模板)

题意:有m条隧道,这些隧道互相交汇(即没有度为0的情况)。现在要建立逃生竖井,使得某些地方塌陷时员工可以从竖井逃生,求最少要建多少逃生竖井,以及建竖井的方案数。思路:很容易联想到点联通分量的割点,但当割点塌陷时员工就无法逃脱了。所以不能在割点上建,而要在分量上建。当bcc==1时建连两个(以防其中一个塌陷了),方案数为n(n-1)/2。当bcc不等于1时,考虑在每一个分量上建,如果分量上有2个以及两

2017-10-22 12:55:05 325

原创 codeforces876B

Divisiblity of DifferencesYou are given a multiset of n integers. You should select exactly k of them in a such way that the difference between any two of them is divisible by m, or tell that it is imp

2017-10-20 21:09:34 342

原创 uva11464(二进制枚举)

Even Parity题意:给你n*n的矩阵,上面的元素不是0就是1,现在要求你把一些0变成1,使得矩阵中每一个元素上下左右和(存在的话)加起来为偶数,求最少的操作数。思路:如果简单的暴力枚举的话会超时。我们可以枚举矩阵第一行的变化情况,然后往下推出下一行的变化情况(枚举每一个已知行的元素,如果当前元素不符合要求,查看该点下方是否可以从0变为1,不可以则这种方案不行,因为只有该点下方的那点在已知行外

2017-10-13 20:35:08 650

转载 codeforce868c

Qualification RoundsSnark and Philip are preparing the problemset for the upcoming pre-qualification round for semi-quarter-finals. They have a bank of n problems, and they want to select any non-empty

2017-10-11 10:39:32 198

原创 UVA - 11300(数学)

Spreading the WealthA Communist regime is trying to redistribute wealth in a village. They have have decided to sit everyone around a circular table. First, everyone has converted all of their properti

2017-09-22 20:26:54 221

原创 Codeforces 434 Div. 2 A

A. k-roundingtime limit per test1 secondFor a given positive integer n denote its k-rounding as the minimum positive integer x, such that x ends with k or more zeros in base 10 and is divisible by n.Fo

2017-09-18 19:31:49 381

空空如也

空空如也

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

TA关注的人

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