自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长颜草的博客

人总要有野心,有梦想,然后光芒万丈……

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

原创 HDU_【2017 Multi-University Training Contest 2】——1003 Maximum Sequence

HDU_6047题目链接题目意思给你两个含有n个整数的序列a,b,其下标从1到n,现在要求满足 a[i]≤max{a[j]-j│b[k] ≤ j < i} 这个关系式的a[n+1]到a[2n],其中bk是从序列b中任意选取的,且b中的每个数只能使用一次。现在后要求a[n+1]到a[2n]的和,并使最后的和最大。解题思路由关系式可以知道a[i]{ i | n < i ≤ 2n }的值为a[b[k]]-

2017-07-31 20:45:28 211

原创 HDU_【2017 Multi-University Training Contest 2】——1011 Regular polygon

题目链接 Problem Description On a two-dimensional plane, give you n integer points. Your task is to figure out how many different regular polygon these points can make. Input The input fil

2017-07-30 10:35:44 171

原创 HDU_【2017 Multi-University Training Contest 2】——1001 Is Derek lying?

题目链接题目意思 给你总共有几道题,和两个人的分数,接下来给你两个人各自的答案,每道题一分,让你判断第一个人有没有说谎。解题思路 一道题一分,那么两个人的分数总和减去总题数就是两个人至少做的相同的题的数目,当然同时两个人不同的题数目至少也得是两人分数的差值。代码部分 #include<cstdio>#include<algorithm>#include<string.h>#include <i

2017-07-29 20:41:35 248

原创 HDU_【2017 Multi-University Training Contest 1】——1003 color tree

题目链接题目意思给你一个包含n个节点的树,用一个数字代表一种颜色,树上的路径权值为在这条路径上包含的颜色数量,这棵树总共有n*(n-1)/2条路径。求这棵树上所有路径的总权值。解题思路我们要考虑每条路上有多少颜色经过,这样求所有路径上的权值和,但是这种方法不好实现。所以我们反过来思考,我们假设每条路径上都包含了所有的颜色,那么总的路径权值和就是用颜色数*路径数,那么我们现在只要找到每种颜色没有经过那

2017-07-28 18:16:36 306

原创 HDU_【2017 Multi-University Training Contest 1】———1006 Function

题目链接题目意思给两个序列a,b;问其满足关系式f(i) = b[f(a[i])];有多少种。解题思路若想满足关系式,则a与a[i]需要成环,b与b[i]需要成环,并且a与b需要同时成环时,又因为a环包着b环,则当b环长度为a环长度的约数的时候就可以满足关系式。其中a环和b环是不会相交的。若a的其中一个循环节长度为l,那么b循环节肯定为l的因数,把满足条件的b环将其长度与数量相乘再与a循环节个数相乘

2017-07-28 09:24:42 216

原创 HDU_【2017 Multi-University Training Contest 1】——1002.Balala Power!

题目链接题目意思巴啦啦能量,就是给你一个字符串,a~z能够用数字0~25任意代替,将其转化为26进制数,每次尽可能取最大,最后要求所有字符串的最大和值。其中字符串的首位字符不能是0,每个不同字符只能对应一个不一样的数字。解题思路每个字符对答案的贡献都可以看作一个 26 进制的数字,问题相当于要给这些贡献加一个 0 到 25 的权重使得答案最大。最大的数匹配 25,次大的数匹配 24,依次类推。排序后

2017-07-26 10:31:58 310

原创 HDU_【2017 Multi-University Training Contest 1】——1011. KazaQ's Socks

题目链接题目意思一个人有n个袜子,编号1-n,每天穿一双,穿得只剩下一只的时候,会洗好按顺序放过去,继续穿,并且每次都先穿编号小的那一双,问第k次穿得袜子是编号多少的袜子。解题思路这是一道规律题。规律如下:当n=3,袜子的编号:12312131213……由此可见123,12,13,12,13……12和13会一直循环下去 当n=4,袜子的编号:1234123124123124……由此可见1234,1

2017-07-25 20:43:37 274

原创 HDU_【2017 Multi-University Training Contest 1】——1001 Add More Zero

题目链接题目意思题目意思就是给你一个数n让你计算2^n的值,转化为科学计数法是10的几次方,输出这个次方数就行。解题思路这就是一个数学公式就可以解决了。求log10(2^m-1)向下取整。代码部分#include <iostream>#include <stdio.h>#include <math.h>using namespace std;int main(){ int m,k,t=

2017-07-25 20:15:32 314

原创 HDU 1166 敌兵布阵【线段树】

题目链接题目意思给定一个序列,有三种操作,最后输出给定范围的值之和题目意思数据大,普通方法肯定超时,用线段树来计算区间的加法。代码部分#include <iostream>#include <stdio.h>#include <string.h>#define lchild left,mid,root<<1#define rchild mid+1,right,root<<1|1using

2017-07-24 19:28:43 337

原创 HDU 2795 Billboard【线段树】

题目链接题目意思有一块h*w的广告牌,现在要往上边贴广告,所贴广告的高度都为1,要求所贴的广告尽量往上和往左贴,如果可以贴,输出你所帖广告的行号,否则输出“-1”。解题思路这道题用线段树来解。我们以广告牌的高度作为标准来构造线段树,另外用一个数组来存储线段树每个节点的宽度。贴广告的时候我们从左子树往右子树来贴,这样就是从上往下来贴的。具体过程看代码吧!代码部分#include <iostream>

2017-07-24 11:50:34 192

原创 HDU_1599 find the mincost route

题目链接题目意思给你n个景区,求经过最小三个景区形成的环的最小花费。解题思路这是一道求最短路的题,用Floyd算法,Floyd本身只是比较暴力的dp求各点之前的最短路径。但是,在Floyd更新的过程中也是有顺序的。可以借助这一点来解决这个题目。首先先说一下如何来确定环的花费最小。开始先将ans赋值为无穷大。然后我们可以先选取两个点,两点之间的最短路径为dis[i][j],再找一个大于i,j的一个点k

2017-07-24 09:02:57 305

原创 POJ_1321 棋盘问题

题目链接题目意思给你一个n*n的棋盘,让你往上边放k颗棋子,要求每一行或者每一列只能有一颗棋子出现,问你最多有几种方法放置棋子。其中#代表棋盘区域。解题思路这道题类似于n皇后问题,主要思想就是深搜加回溯。要找到#,你可以放置棋子也可以不放棋子,但是要求的每行每列都只能有一个棋子,如果放置棋子,就要回溯到原点接着搜索,如果搜到了最后也要回溯,具体看代码代码部分#include<iostream>#i

2017-07-23 12:29:11 319

原创 错排

错排:n封信放入n个信封,要求全部放错,共有多少种放法,记n个元素的错排总数为f(n)。现在有n封信和n个信封,如果所有的信都装错了信封,求共有多少种错误方法。当n=1和2时,易知道,假设F(n-1)和F(n-2)已经知道,重点分析下边的情况:1、当有n封信的时候,前边n-1封信或者n-2封信错装。2、前者,对于每一种错装,可以从前n-1封信中任选一封与第n封交换,那么就全部错装了。这种情况共有F(

2017-07-23 09:00:05 390

原创 HDU 1465 不容易系列之一

题目链接题目意思给你n个信封和n封信,要求将全部的信全部装错信封,问最多有多少种装法解题思路这是一个典型的错排问题,它用到一个结论F(n)=(n-1)*(F(n-1)+F(n-2))。代码部分#include <iostream>#include <cstdio>using namespace std;long long f[25];void PX(){ f[1]=0,f[2]=1

2017-07-23 08:58:29 338

原创 二分图

二分图二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G是一个二分图。定义  简而言之,就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。辨析区

2017-07-23 08:42:42 850

原创 FZU_2205 据说题目很水

题目链接题目意思给你n个点,让你在这n个点之间加边,但是不管咋加都不能形成三个点的直接相通环,让求最大的边数。解题思路开始做这道题的时候以为是找规律题,后来才明白这是一个完全二分图的结论题。要求最大的边数还不能出现三个边的环,我们可以将n个点分成两个顶点集,让两个互不相交的顶点集中的点两两相连,同一集合中的任意点不能相连,得到最大的边数。也就是最大边数=n/2/*(n-n/2)。代码部分#inclu

2017-07-23 08:36:47 299

原创 Restaurant Tables

题目链接题目意思该题意思是给你a张单人桌,b张双人桌,接待客人,如果客人是一个人,就做单人桌,如果没有单人桌就坐双人桌,如果也没双人桌,就坐双人桌坐了一个人的地方,如果还是没有,则拒绝接待。同样如果来的是两个人,就坐双人座,如果没有,就拒绝接待。最后求没接待的人数。解题思路来的人可以分为单人和双人,如果是单人就判断是否有单人桌,如果没有就判断双人桌,这样下次来单人的时候就判断有没有只坐了一个人的双人

2017-07-22 09:43:13 286

原创 HDU 1233 还是畅通工程【最小生成树】

Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的

2017-07-21 11:19:19 218

原创 最小生成树——Kruskal算法

算法背景克鲁斯卡尔(Kruskal)算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法。Kruskal算法是由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。算法过程库鲁斯卡尔(Kruskal)算法是基于贪心的思想得到的。首

2017-07-20 10:33:26 1058

原创 最小生成树——Prim算法

最小生成树  给定一个无向带权图,顶点数是n,要使图连通只需(n-1)条边,若这(n-1)条边的权值和最小,则称这n个顶点和(n-1)条边构成了图的最小生成树。Prime算法算法背景  普里姆算法(Prim算法)是一种构造性算法。该算法于1930年有捷克数学家沃伊捷赫.亚尔尼克发现,并在1957年由美国计算机科学家罗伯特.普里姆独立发现,1959年,艾兹格·迪科斯彻再次发现了该算法。因此,在某些场合

2017-07-19 19:25:06 2536 2

原创 HDU 1232 畅通工程【并查集】

Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1

2017-07-17 15:48:32 253

原创 并查集详解

并查集支持查找一个元素所属的集合以及合并两个元素各自所属的集合等运算。它主要用于处理一些不相交的集合的合并问题。一些常见的用途有求连通子图、求最小生成树的Kruskal算法和求最近公共祖先(Least Common Ancestors, LCA)等。并查集的数据结构记录了一组分离的动态集合 S={ S1,S2, …,Sk }。每个集合通过一个“代表”加以识别。“代表”即该集合中的某个元素,“代表”的

2017-07-17 15:31:21 377

原创 A + B Problem II

HDU 1002 :*A + B Problem II*Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description   I have a very simple problem for you. Given two integers A

2017-07-14 14:22:59 424

空空如也

空空如也

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

TA关注的人

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