自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RaAlGhul的博客

Not today,not tomorrow,but someday

  • 博客(50)
  • 资源 (3)
  • 收藏
  • 关注

原创 HDOJ 5778 abs

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5778题意:给我们一个数,判断离它最近的那个能够分拆成质因子集每一个质因子的个数都是2的形式的数。比赛的时候觉得好难的一道题,比赛完了再看真是觉得懊恼……这么简单的一道题居然没有想出来。首先我们要求的数y = p1*p1 * p2*p2 * p3*p3……pk*pk = (p1*p2

2016-07-31 13:26:55 444

原创 HDOJ 5776 sum

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5776题意就是说在n个数中能不能找到一段连续的子串,使得其和为m的倍数。我们采取的办法就是直接求出所有的前缀和对m取模的值,仔细思考如果两个位置的前缀和相等,那么一定这中间这段和就是m的倍数,举个例子,1~x1的和模m为2,1~x2的和模m也为2,那么一定会有x1~x2的和模m为0.

2016-07-31 13:13:42 586

原创 HDOJ 5773 (2016多校联合训练 Training Contest 4) The All-purpose Zero

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5773题意,0可以变成任何数,问我们可以得到的最长的上升序列的长度为多少。首先0可以变成任何数,那么最长的上升序列不一定包含所有的0,但是包含了所有的0的序列一定可以达到最长上升序列的长度,所以我们采取的策略就是把每一个数都减去它之前的0的个数,然后再进行一次LIS,最后再加上0的总个数

2016-07-30 14:49:59 534

原创 HDOJ 5775 (2016多校联合训练 Training Contest 4) Bubble Sort

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5775题意:让我们求出每一个数在冒泡排序中的排在最左边的位置和最右边的位置的差。冒泡排序,仔细思考一下其中的原理,每一次我们都是从右边开始在前面前后交换,也就是说每一个数如果左边有几个数比它小,那么在它开始移动的时候,就要向右边移动多少次,所以能够排在最右边的位置就是它的当前位置+右边比

2016-07-30 13:26:54 796 1

原创 HDOJ 5763 (2016多校联合训练 Training Contest 4) Another Meaning

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5763题意:给我们一个母串a和模板串b,我们可以把母串里面包含的模板串换成另一个串,问我们最终可以得到多少种不同的串。这题我们用到的思路就是KMP+DP。首先,我们用KMP求解出所有的能够匹配模板串的位置,然后就可以开始DP求解了,状态转移方程为:1.如果当前位置没有匹配到模板串

2016-07-30 13:11:51 679

原创 HDOJ 5754 (2016多校联合训练 Training Contest 3) Life Winner Bo

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754一道博弈大汇总,一道题当做四道题来做=.=,题意是给我们四种棋子,每种棋子的走法不同,问我们谁会赢。1.王:王的行走方式是只能向下或者向右或者向右下移动一格。王我们可以直接分析必胜点和必败点,首先我们的终点就是必胜点,而必胜点的左上三个格子都是必败点,我们这样推就会

2016-07-28 10:58:25 641

原创 HDOJ 5753 (2016多校联合训练 Training Contest 3) Permutation Bo

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5753求总权值的期望,我们可以分到每一位进行计算,考虑到2~n-1每一位我们需要观察它左边的那个数和右边的那个数,仔细想,三个数,要随机排列的话,一共有3*2*1 = 6种排列方式,但是只有两种(最大的排中间)才是有效的,也就是说所有的组合里面我们只有1/3的值是有效的,所以对总权值的贡献就

2016-07-27 17:31:50 491

原创 HDOJ 5752 (2016多校联合训练 Training Contest 3) Sqrt Bo

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5752多校水题一枚,题意是说,给我们一个数,判断经过5次以内的开根并向下取整,能否变成1,首先要想经过5次开根就变成1,肯定是在某一个范围内才可以达到的,举个例子,一次开根达到1的话,那么这个数肯定是在小于4的范围内才行的,两次的话就应该是25,三次的话就是676,四次是458329,五次是

2016-07-27 16:51:49 447

原创 HDOJ 1060 Leftmost Digit

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1060题意:计算出n^n最左边一位的数字,一道想法题,小编想了老半天也没想明白的问题,最后还是看别人的题解才会的。这里我们用到了一个取对数的技巧,设a = log 10(c)即(c = 10^a),我们把a拆成整数k和小数d两部分,那么整数的部分就是表示的c可以拆成的10^k(k为整数)

2016-07-25 14:53:35 468

原创 HDOJ 1290 献给杭电五十周年校庆的礼物

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1290一道简单的递推题,首先我们先讨论在一个平面内的情况,在一个平面内,在最优解的情况下(保证没有两条直线共线),每一次加一条直线,都会与过去的n-1条直线都有一个交点,很明显相邻的两个交点就会和其他的直线交点形成一个平面,所以f(n) = f(n-1) + n = 1+2+3……+n =

2016-07-25 11:21:12 530

原创 HDOJ 5750 Dertouzos

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5750一道数学+想法的题,看着最大因子,我相信大家第一反应都是和小编一样,d*2,d*3,d*4……但是想到这里就会发现,这种想法肯定是错的,举个例子,33 8 这组数据很明显只有8*2可以,明显8*3,8*4都不可以,那么我们思考,首先是合数,如果一个数是合数,那么这个合数可以分成几个因子

2016-07-24 16:24:52 439

原创 HDOJ 5748 Bellovin

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5748一开始小编以为f就是表示的是到这一位的最长上升子序列长度,于是直接不是当前最大值就填1,WA了两发才发现是以这一位结束的最长上升子序列长度,那么问题其实求出每一位的f,f就是答案。#include #include #include #include #include u

2016-07-24 15:51:02 386

原创 HDOJ 5747 Aaronson

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5747我们首先把这个数换成以二进制表示,很明显,在m位之前的,有1的那位我们就+1,没有的就不加。在m范围外的,很明显,我们用第m位去凑需要的数量最小。#include #include int main(){ int n,m; int T; scanf("%d", &T)

2016-07-24 15:46:43 361

原创 HDOJ 5734 (2016多校联合训练 Training Contest 2) Acperience

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5734本来一道很简单的题,我们对居然比赛的时候贡献了5发罚时=.=。题意让我们找到一个数,让所有的数加或减去这个数的平方和最小。既然是求平方和,而且是自己决定是加还是减,那么我们就不用担心正负号了,直接全部变成正的来处理。仔细思考,实际上我们的目的就是把这么多个数通过加减一个数使得它

2016-07-22 17:16:07 399

原创 HDOJ 5742 (2016多校联合训练 Training Contest 2) It's All In The Mind

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5742此题也是多校男的见到的水题,此题我们只需要贪心就能搞定,第一位和第二位尽量的打,后面的尽量的小,从第三位开始每一位数如果其右边的都不知道,那么这个数就是0,右边有就取右边第一个不为0的数。而前两位,尽量的取成100即可。#include #include #include #

2016-07-22 16:00:22 453

原创 HDOJ 5744 (2016多校联合训练 Training Contest 2) Keep On Movin

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5744在多校训练中难得一见的水题,比赛刚刚开始的时候题目还有错,根本看不懂题意,后来题目改了,就变成一道真正的大水题了,题意是说要我们用所有的字符做成多个回文串,然后在所有可能的每一个组合里面最短的回文串在所有的组合中最长是多少。首先显然,如果直接把所有的字符都用上构成一个回文串,那么这

2016-07-22 15:12:07 538

原创 HDOJ 5738 (2016多校联合训练 Training Contest 2) Eureka

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738题目给我们的形成目标集合的条件很好理解,因为两点之间线段最短,所以能够达到这个条件很明显就是说点广告好就在这个线段上(注意,含端点,题上没有说u,v,w不相等,也就是说任意两个点都可以形成这个条件),那么题目就变成有多少这种组合,首先如果n个点和我们枚举到的点都在一个位置上,那么在这个

2016-07-22 14:04:43 872

原创 HDOJ 5723 (2016多校联合训练 Training Contest 1) Abandoned country

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5723多校第一场就分数爆零,这是我们队比赛里面唯一过的一题TT。题意:给我们n个点和m条边,然后问我们最小生成树以及最小生成树上两两点之间距离的期望值。期望值很显然就是所有两两点之间的距离和除上总共的选择数(n*(n-1)/2)。一开始没有看见每一条边的权值都是唯一的,想了好久如

2016-07-20 15:17:20 840

原创 Codeforces #363 Vacations

题目链接:http://codeforces.com/contest/699/problem/C比赛时小编一卡,才100的数据,果断暴力,没想到这么小的数据最后还是在终端被TLE叉掉了=.=。这题应该最正确的做法是用到DP,用dp[i][0~2]表示在第i天的时候分别做sports,contest,rest的状态。#include #include #include

2016-07-20 12:08:24 328

原创 Codeforces #363 One Bomb

题目链接:http://codeforces.com/contest/699/problem/B很悲催的一题啊,小编刚刚把这道题锁住就想起了一个错误点,虽然靠着错误点hack了很多人,但是仍然抵不上过不了终端的痛。首先小编就先来介绍一下一个错误的做法,统计出现最多的横坐标和纵坐标,然后以这个为炸弹,反过来看有没有点不在这个炸弹范围内来判断可不可以。这种做法乍一看是对的,但是

2016-07-20 12:02:59 475

原创 HDOJ 3790 Balanced Number

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709也是一道基础的数位DP题目,用dp[i][j][k]记录枚举到第i位时,以j为中心的和为k的种数有多少,以DFS记忆化搜索来记录,计算出以每一位为中心时的结果。#include #include #include #include using namespace std;

2016-07-19 10:55:15 366

原创 Codeforces Round #362 Lorenzo Von Matterhorn

题目链接:http://codeforces.com/problemset/problem/696/A题意:给我们一个二叉树,一开始每条边的权值都是0,现在给我们两个操作,第一个是讲从点u到点v这条路上的每一条边边权都加上w,第二个操作是询问我们从u到v这条路上的权值和。很显然,如果我们能用一个二维数组来存储两两之间的关系的话,那么问题会非常简单,但是很明显我们是开

2016-07-18 16:43:30 326

原创 HDOJ 5719 Arrange

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5719一道很简单的贪心模拟题。首先,我们来分析能否形成的条件。如果b[0]和c[0]不等的话,肯定是无法达到的,再来,每一步加进去一个数,所以最大值和最小值只有可能改变一个,如果改变的不止一个那么肯定是无法达到的。再想,如果加进去的这个数使得和上一步的最大值最小值不一样,

2016-07-18 14:57:02 374

原创 HDOJ 5718 Oracle

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5718题意给我们一个数字,然后我们可以将其分成两个不含前导零的正整数,且可对每一位进行重新排列,问我们能够得到的最大的两数之和为多少。很容易想到位数越高肯定值越大,所以最后分出来的结果肯定是一个是1位的数,一个是len-1位的数。比赛一开始就看出来这点了,但最后还是用了很久才A,题目

2016-07-18 14:43:49 412

原创 杭电暑假集训 Team Contests - Warmup G题

来自暑假集训的第一场组队赛,当时很多队伍第一个过的就是这个题目。一看就是一个数位DP,因为恰恰好队伍里面三个人当时都不会数位DP,也是挺纠结的,都过了好长时间,队友才A掉,不过还是蛮佩服队友的,不会数位DP,纯粹凭着想象A掉的,还是挺强的。我们用dp[i][j]记录枚举到第i位时,和为j的状态,进行DFS记忆化搜索,因为我们总共才16位数,所以每一位的和加起来最多也只能达到144,所以我们直接

2016-07-17 14:59:38 416

原创 团体程序设计天梯赛 决赛 L3 是否完全二叉搜索树

题目链接:https://www.patest.cn/contests/gplt/L3-010相信很多人跟小编一样,比赛的时候就算这是一道中文题也不知道这是什么意思,因为对二叉搜索树的概念知道的比较少,对着中文题就跟对着英文题一个感受 _(:з」∠)_,下来一直到题意了,就发现,这

2016-07-17 11:22:32 631

原创 团体程序设计天梯赛 决赛 L2 列车调度

题目链接:https://www.patest.cn/contests/gplt/L2-014题意:让我们求出这个序列最少的下降序列个数,而最少的下降序列个数就等于整个序列最长上升子序列的长度。#include #include #include #include using namespace std;const int maxn = 100000+5;int a[maxn]

2016-07-17 11:00:33 898 6

原创 团体程序设计天梯赛 决赛 L2 红色警报

题目链接:https://www.patest.cn/contests/gplt/L2-013求联通块的个数,因为时限给的很宽,我们可以每一次都直接重新并查集建图处理,再来统计连通块的个数。#include #include #include #include using namespace std;const int maxn = 505;int set[maxn],n;s

2016-07-17 10:57:59 737

原创 Codeforces #352 Recycling Bottles

题目链接:http://codeforces.com/contest/672/problem/C题意:给出两个人。一个垃圾桶,n个垃圾桶的坐标,问我们把所有的垃圾扔进垃圾桶需要走的最短距离。首先我们需要这与想,每一个垃圾都是必须得去一趟垃圾桶的,假设我们是从垃圾桶除法去捡垃圾,那么我们需要走的路程就是所有垃圾到垃圾桶的路程和的两倍,现在我们从两个位置出发,考虑如果一个人直接去捡垃圾,那么相

2016-07-13 16:20:31 457

原创 HDOJ 1275 两车追及或相遇问题

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1275追击星宇问题是小时候最讨厌的问题,因为追击和相遇我们得考虑完全不同的情形,得分成两部分去讨论,很烦,这道题也是,如果是两者相遇的话,那么第i次相遇所需要的时间就是s*(2*i-1) / (va+vb),而第i次慢车被快车追上的时间是s*(2*i-1) / (v块-v慢),但是第i次相交的时候是

2016-07-13 14:15:47 843

原创 HDOJ 1274 展开字符串

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1274一个关于字符串处理的题目,因为有括号,如果每一次都是去找最里面的左括号再找对应右括号肯定不好处理,我们采取的方法就是直接从左到右的处理,然后遇到括号我们就采取递归的思想去处理,因为涉及到字符串的拼接,所以这里我们最好用到的C++ string类型,虽然慢但是还是比较好用的。#include

2016-07-13 14:08:36 513

原创 HDOJ 1214 圆桌会议

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1214谈到邻位交换,冒泡排序应该是所有人编程中最先接触到的,如果是一条直线的话,很容易想到时间为n(n-1)/2,但是这个问题中变成了一个圆,我们不能单单的把它当成是一条直线来判断,但是我们可以把它看成是两条直线来判断,那么两条直线的长度又分别是多长呢,这里我们可以证明一下,设其中一段的长度为a,那

2016-07-12 16:55:25 436

原创 HDOJ 1210 Eddy's 洗牌问题

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1210上来大家的第一反应都是去找规律,想着去找通解,但是如果打表的话会发现并没有什么特别明确的通解,所以方向都错了,其实这道题对书写方式也是一个误导,我们看着n+1,1,n+2,2……2n,n,这组数据心里面想的往往都是把前面n个数插入到后面n个数里面,这样想当然没问题,但是就看不出这其实是一种置换

2016-07-12 14:04:46 632

原创 密码学_RSA算法原理详解

1.RSA算法简介:      RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被I

2016-07-11 20:53:48 6465

原创 HDOJ 4861 Couple doubi

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4861题意:给我们n个球和一个质数p,求的编号从1~n,编号为i的球的价值为1^i+2^i+3^i+……(p-1)^i mod p,然后两个人轮流开始拿球,直到球拿完,拿完球后谁的价值总和最高谁就赢,问我们先手是否能够获胜。首先,很容易想到当i为(p-1)的倍数的时候,价值最大为p-1,因为p为

2016-07-11 17:09:08 421

原创 TOJ 3984 I guess the gift is an ipad!

题目链接:http://acm.tju.edu.cn/toj/showp3984.html题意:贪食蛇。一个贪食蛇问题,让我们判断当前状态有没有撞墙以及长度。很多人这个题是用到STL容器去存储蛇身体的位置,小编觉得没有那个必要,这个问题小编采取的方法是直接存储头的位置和尾巴的位置,具体方法就是在下一个位置什么也没有的时候,头和尾一起动,下一个位置有食物的时候头动尾不动,遇到下一个位置超

2016-07-11 12:24:58 374

原创 TOJ 3991 Eat or Study

题目链接:http://acm.tju.edu.cn/toj/showp3991.html题意:给我们每一天学习的值和吃的值,然后给我们必须要到的学习的值,然后问我们到必须要学习到的值的时候最大满足的吃的值。一开始一看,这个问题有点像是背包,但是又一个问题那就是我们背包问题的体积和价值是连在一起的,也就是说我们是放入一定体积下同时获得的价值,但现在我们是要么学习,要么吃,看起来就不能用到背

2016-07-11 11:38:24 422

原创 ACM_算法_二叉树遍历方法的互相转换 (TOJ 3988 Password)

题目链接:http://acm.tju.edu.cn/toj/showp3988.html很裸的一道二叉树的题目,题意很简单,通过先序遍历(root,left,right)和中序遍历(left,root,right),推出后序遍历(left,right,root)。二叉树就是一个搜索的教科书,我们用到的方法也是深度搜索(DFS),举个例子先序遍历:DBACEFHGI。中序遍历:AB

2016-07-10 18:56:36 1695

原创 HDOJ 5213 Lucky

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5213题意:给我们n个数,然后给我们一个数字K,再给我们两个区间[L,R],[U,V],问我们从这两个区间里分别去两个数,有多少对取法,可以使得所取的两个数和为K。方法:莫队算法 + 容斥原理。首先我们先来看一种更加简单的情况。假如我们现在的情况是从一个区间里面选出两个数,求取法的对数。

2016-07-09 10:22:20 422

原创 指路标问题

一道学校内部测试赛的题目,对于这题,我们用最短路去处理。首先我们看题,题目为我们最少需要改几条边能够走到终点,其实题意可以这样理解,问我们在尽量多走指路标所指方向下,最少能够走几条非指路标所指路线到达终点,那么我们采取的方法就是对指路标所指的路建立权值为0的边,给其他的路建立权值为1的边,求出到终点的最短路。#include #include #include #define inf

2016-07-08 12:34:07 687

简单的SSM框架项目 BBS留言系统

简单的SSM框架项目 BBS留言系统,是小编博客中的SSM框架新手介绍配套的项目源码

2017-11-08

图解密码技术-高清-带标签-pdf

本资源为书籍《图解密码技术》,是高清,且带标签的pdf文件

2017-10-25

空空如也

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

TA关注的人

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