自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Permutation Cycle

题目链接#include<bits/stdc++.h>#include<math.h>using namespace std;const int maxn=2e5+5;typedef long long ll;int n;int a[maxn];int main(){ while(scanf("%d",&n)!=EOF) { ...

2018-05-13 11:59:30 471 1

原创 String Typing &&substr

题目链接 题解: 找最大的循环链,必须从0开始,复制的链必须是从开始到此刻所有的字符,不能是部分。c.substr(i,j)表示从i位置开始的j个长度的子串。 代码:#include<bits/stdc++.h>using namespace std;int n;string c;int main(){ while(scanf("%d",&n)!...

2018-05-13 09:35:37 234

原创 Make a Square

题目链接 分析:直接二进制暴力就行,注意不能有前导0,没有其他正数只有一个0也不允许。 代码:#include<iostream>#include<cstdio>#include<string.h>#include<math.h>using namespace std;typedef long long ll; char a[...

2018-05-12 18:42:35 774

原创 冒泡排序&选择排序

#include#includeusing namespace std;int main(){ int n; int a[100]; int b[100]; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { scanf("%d",&a[i])

2018-05-09 16:41:46 157

原创 漂亮的树

链接:https://www.nowcoder.com/acm/contest/84/B来源:牛客网题目描述街上有n棵树,标号为1...n,第i棵树的高度为ai。定义这n棵树是漂亮的,当且仅当    1. 对于所有的i,ai=an-i+1;    2. 对于1 &lt;= i &lt; n / 2 (不是整除),ai + 1= ai + 1;比如说 “2 3 4 5 5 4 3 2”和“1 2 3...

2018-04-30 11:37:43 170

原创 选值&二分&组合数

题目链接:点击打开链接题目描述给定n个数,从中选出三个数,使得最大的那个减最小的那个的值小于等于d,问有多少种选法。输入描述:第一行两个整数n,d(1 <= n <= 100,000,1 <= d <= 1000,000,000);第二行n个整数满足abs(ai) <= 1,000,000,000。数据保证a单调递增。输出描述:输出一个整数表示满足条件的选法。

2018-04-30 10:08:16 129

原创 Average distance&&dfs&&vector

题目链接:点击打开链接Problem DescriptionGiven a tree, calculate the average distance between two vertices in the tree. For example, the average distance between two vertices in the following tree is (d01

2018-04-23 20:42:19 190

原创 P2661 信息传递

题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生

2018-04-22 19:43:18 257

原创 快速幂&&二分&&A Math Problem

题目链接:点击打开链接A Math ProblemTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3231    Accepted Submission(s): 1074Problem Description

2018-04-18 20:17:06 134

原创 二分&&Block Towers

题目链接:点击打开链接C. Block Towerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputStudents in a class are ma

2018-04-16 20:47:11 207

原创 弗洛伊德(Floyd) 畅通工程续

题目链接:点击打开链接畅通工程续Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 65183    Accepted Submission(s): 25209Problem Description某省自从实行了

2018-04-15 21:28:28 205

原创 SPFA&&畅通工程续

题目链接:点击打开链接畅通工程续Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 65164    Accepted Submission(s): 25206Problem Description某省自从实行了

2018-04-15 19:59:38 206

翻译 C++ pair的用法实例详解

C++ pair的用法实例详解1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变

2018-04-15 11:32:38 1071

原创 沃老师学生的成绩

题目链接:点击打开链接链接:https://www.nowcoder.com/acm/contest/83/B来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述第一次期中考终于结束啦!沃老师是个语文老师,他在评学生的作文成绩时,给每

2018-04-14 10:42:31 245

原创 二分Three-level Laser

题目链接:http://codeforces.com/problemset/problem/924/B/*题解报告:题意要求(a[k]-a[j])/(a[k]-a[i])的最大值,易知当a[j]和a[i]挨着的时候 上式会取的最大值,即转化为求(a[k]-a[j])/(a[k]-a[j-1])的最大值,要保证(a[k]-a[j])/(a[k]-a[j-1])式取得最大值就要使分子取得最大

2018-04-11 16:23:06 186

原创 Riverside Curio

题目链接:http://codeforces.com/problemset/problem/924/C/*看懂题目 只要满足两个条件就OK啦1. s[i]>=s[i+1]-1 && s[i]>=a[i]+1;(逆序遍历)2.s[i]>=s[i-1];(正序遍历)*/#includeint main(){ int n; int a[100005],s[100005];

2018-04-10 21:12:35 174

原创 迪克斯特拉(Dijkstra)算法 单源最短路径

输入第一行输入定点数N第i行 s(起结点)   k(与起结点相连的组数)   g(终结点)   v(权值) #include&lt;stdio.h&gt;#include&lt;string.h&gt;#define max 1000#define INF 999999int m[max][max]; //m[s][g]中记录s到g的边的权值int d[max]; //d[...

2018-04-09 19:32:56 1199

原创 ***汉诺塔公式推导

问题背景:有A,B和C三根柱子,开始时n个大小互异的圆盘从小到大叠放在A柱上,现要将所有圆盘从A移到C,在移动过程中始终保持小盘在大盘之上。求移动盘子次数的最小值。变量设置:n为圆盘个数,H(k)为n=k时移动盘子次数的最小值。递推公式: H(k)=2H(k-1)+1。通项公式:H(k)=2^k-1。证明:(1)证明递推公式:首先被移动到C盘的必定是最大的盘子,否则必定违反“在

2018-03-31 11:11:04 6328 3

原创 汉诺塔V

Problem Descriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,即各柱子从下往上的大小仍保持如下关系 :n=m+p+q a1>a2>...>amb1>b2>...>bpc1>c2>...>cq计算所有会产生的系列总数. 

2018-03-31 10:38:01 335

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

/*分析: ①n条直线把平面分割成的区域数: f(n)=f(n-1)+n=n(n+1)/2+1; ②把空间分割为最多的区域数的时候,第n个平面与前(n-1)个平面相交, 且无三面共线,所以此时该平面与前(n-1)个平面有(n-1)条交线。 这些交线把第n个平面分割为f(n-1)个区域,于是这个平面将原有空间一分为二, 故增加了f(n-1)个空间,得递推公式:g(n)=g(n-1)+f(n...

2018-03-28 19:56:34 339 1

原创 不容易系列之(4)——考新郎

分析思路:1 当有N封信的时候,前面的n-1 封信可以有n-1 或者n-2   封装错2 前者,对于每一种错装,可以从n-1 封信中任意取一封和第n封  错装,故=F(N-1)*(N-1)3 后者简单,只能是没装错的那封信和第N封信交换信封,没  装错的那封信可以是前面N-1 封信中的任意一个,故=F(N-2)*(N-1)  得到如下递推公式:基本形式:d[1]=0

2018-03-28 19:06:28 157

转载 折线分割平面

/* 这里我给大家推导以下递推公式的推导步骤: 上面看到了两条折线 和三条折线的画法, 我们先来考虑以下两条折线的画法,同样是两条折线为什么图二的就比图一的要多呢, 我们这里仔细的分析以下两个图的不同,经过观察, 不难发现,图二的交点比图一的交点多了两个,那是不是这个原因呢?回答是当然! 那么问题又来了 交点的数目与分割的数量的增加有关系么? 回答仍然是当然!那么交点数目与分割的数

2018-03-28 18:41:57 239

转载 快速幂讲解

首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下:  假设我们要求a^b,那么其实b是可以拆成二进制的,该二进制数第i位的权为2^(i-1),例如当b==11时                             a11=a(2^0+2^1

2018-03-25 11:49:33 175

原创 字典树

题目链接:点击打开链接代码:#include#includeusing namespace std;struct T{ int num; T* next[26];//构造函数 初始化 后面定义的根节点 定以后直接就已经被初始化 T() { num=0; for(int i=0;i<26;i++) { next[i]=NULL; } }}r;

2018-03-06 11:04:50 105

转载 hash线性探测开放定址法解决冲突

一,利用线性探测法构造散列表(用除余法来得出散列地址,用开放地址法解决同义词问题)   题目:已知一组关键字为(26,36,41,38,44,15,68,12,06,51),用除余法构造散列函数,用线性探查法解决冲突构造这组关键字的散列表。    解答:为了减少冲突,通常令装填因子α由除余法的散列函数计算出的上述关键字序列的散列地址为(0,10,2,12,5,2,3,12,6,

2017-12-29 18:57:13 3155

转载 hash 中成功ASL 和不成功ASL的计算

以下求解过程是按照“计算机统考的计算方法”,不同的老师、教材在“处理冲突”上可能会有不同的方法,所以最主要的是掌握原理即可,对于考研的朋友最好掌握统考真题的解题方法。 题目 例子:(2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题第一题)将关键字序列(7、8、30、11、18、9、14)散列存储到散列表中。散列表的存储空间是一个下标从0开始的一

2017-12-29 18:20:25 3919 1

原创 二叉树

实验内容:由先序和中序建立二叉树,二叉树的三种遍历,求二叉树的高度。统计二叉树中度为1、度为2、度为0的个数。代码:#include "stdafx.h"#includetypedef char TElemType;typedef struct BiTNode{ TElemType data; struct BiTNode *lchild,*rchild;}BiNode,*B

2017-11-25 19:47:06 172

原创 求若干个数的平均数并输出123456的二进制和十六进制

现在举一个求若干个数的平均数的例子,若干个数从键盘输入。程序除了输出平均数外,还输出了整数123456的二进制和十六进制的串表示。class Example{ public static void main(String args[]) { double n,sum=0,item=0; boolean computable=true; for(int i=0;i<args.l

2017-10-25 14:34:48 1007

原创 java 输入一个数 字符 字符串

java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象。常用的类有BufferedReader,Scanner。实例程序:一,利用 Scanner 实现从键盘读入float  integer  string型数据Java代码导入java。util包中的scaner类import java.util.*;class Ex

2017-10-24 20:17:11 1402

原创 线段树 (更新区间查询点)Color the ball

Color the ballTime Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 23628    Accepted Submission(s): 11484Problem DescriptionN个气球排成一排,从左到右

2017-10-07 18:44:51 196

原创 线段树 (更新区间查询点)秋实大哥与小朋友

题目链接:https://vjudge.net/contest/186273#problem/DD - 秋实大哥与小朋友 UESTC - 1059 代码:#include#includeusing namespace std;typedef long long ll;#define N 100000+10#define lson l,m

2017-10-04 17:01:49 247

原创 线段树 (更新点查询区间)敌兵布阵

题目链接:https://vjudge.net/contest/186273#problem/BB - 敌兵布阵 HDU - 1166 代码:

2017-10-04 16:23:54 2836

原创 线段树 (更新区间查询区间)poj 3468 A Simple Problem with Integers

题目链接:http://poj.org/problem?id=3468A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 119447 Accepted: 37100Case Time Limit: 2

2017-10-04 15:44:06 142

原创 Package(包与包之间的访问)

PackageDemo.java文件package pack;class Demo{ public static void main(String args []) { packa.DemoA d= new packa.DemoA(); d.show(); }}DemoA.java文件package packa;publ

2017-09-15 20:00:43 1565

原创 包 package

package pack;class PackageDemo{ public static void main(String[] args)//new String[] { System.out.println("Hello Package"); }}

2017-09-10 11:03:15 193

原创 (main函数)

public static void main(String[] arge)主函数:是一个特殊的函数,作为程序的入口,可以被jvm(虚拟机)调用。主函数的定义:public:代表着该函数访问权限是最大的static:代表着主函数随着类的加载就已经存在了。void:对主函数没有具体的返回值。main:不是关键字,但是是一个特殊的单词,可以被jvm识别。(String

2017-09-10 09:26:33 279

原创 构造函数

class Person{ private String name; private int age; /* 构造代码块 作用:给对象进行初始化, 对象一建立就运行,而且优先于构造函数执行。 和构造函数的区别: 构造代码块是给所有对象进行统一初始化, 构造函数是给对应的对象进行初始化。 构造代码块中定义的是不同对象共

2017-09-09 15:00:54 138

原创 1101 第1课

下载JDKhttp://www.oracal.comdownload鼠标左边Java for Developers点击咖啡标志根据自己的操作系统选择下载对应的JDK文件使用DOS提示符格式(命令提示符),进入到安装目录的bin目录下输入javac验证是否安装成功环境变量的配置WIN7/8:右键点击计算机—>属性—>高级系统配置—>高级->环境变量

2017-08-30 19:53:01 174

原创 Poj(2784),二进制枚举+最小生成树kruskal Buy or Build

题目链接:https://vjudge.net/contest/179332#problem/I心得:&在C语言中的运算,如果运算对象有两个,那么&表示位与运算。结果中的每一个二进制位等于两个运算数的对应位置的二进制位安位与。每一个位的位于运算法则是,当且仅当运算数都为1时结果为1,即:1&1==1,1&0==0&1==0。例如:

2017-08-21 11:45:38 295

原创 Party

题目链接:http://codeforces.com/problemset/problem/115/A代码:#include#includeint max(int a,int b){ if(a<b) { return b; } else { return a; }}int main(){ int n,a[2001],i,j; while(scanf("%

2017-08-20 10:24:03 170

空空如也

空空如也

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

TA关注的人

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