自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

H煊的博客

好困

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

原创 “玲珑杯”线上赛 Round #17 Sin your life(数学知识)

DESCRIPTION给一个正整数nn,求下列表达式的最大值:(sin(x)+sin(y)+sin(z))[x+y+z=n][x≥1][y≥1][z≥1](sin(x)+sin(y)+sin(z))[x+y+z=n][x≥1][y≥1][z≥1]为了降低难度,这里的x,y,zx,y,z皆为整数INPUT输入只有一行,包含一个正整数n(3≤n≤

2017-06-24 22:12:01 387

原创 2017ZZUACM省赛选拔 聪明的田鼠

田鼠MIUMIU来到了一片农田,农田可以看成是一个M*N个方格的矩阵。每个方格里放有一定的粮食。MIUMIU看到这里,兴奋不已,它要拿走多多的粮食,以备过冬。但MIUMIU要么往前走(向右) ,要么往下走。 但它很聪明,一定会找到一条拿走最多粮食的路径。MIUMIU目前在入口位置, 坐标为(1,1),出口位置在坐标(M,N)。 请你编程,计算一下当MIUMIU走出农田时,最多能拿走多少粮食

2017-06-23 23:19:05 661

原创 Jessica's Reading Problem(POJ No.3320) (尺取法)

题意:一本书总共有P页,第i页恰好有一个知识点a[i],全书中同一个知识点可能会被多次提到,所以Jessica希望通过阅读其中连续的一些页把所有的知识点都覆盖。给定每页写到的知识点,请求出要阅读的最少页数。限制条件:1样例:输入:P=5a={1,8,8,8,1}输出:2(只要阅读第1页和第2页即可)思路:我们假设从某一页s开始阅读,为了覆盖所

2017-06-21 23:12:04 323

原创 “玲珑杯”线上赛 Round #15 咸鱼商店(二分搜索+01背包)

DESCRIPTION你现在在咸鱼商店,你有M元钱。咸鱼商店有N个物品,每个物品有两个属性,一个是他的价格S[i],另外一个是他的价值V[i]。现在你想买一些物品,使得这些物品的价值和大于等于K,并且使得其中价值最低的商品的价值尽量高。请你输出这个最大价值。INPUT第一行三个整数N,M,K。接下来N行,每行两个整数S和V,分别表示价格和价值。满足:

2017-06-17 21:14:04 260

原创 “玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)

DESCRIPTION给你一个01串,我们定义这个串的咸鱼值,是最长的全1串。现在你最多可以使用K次咸鱼魔法,每次魔法,你可以使得一个位置翻转(0变成1,1变成0)。问你这个串的咸鱼值最多是多少。INPUT第一行两个整数N,K。表示串的长度和可以施展咸鱼魔法的次数。(N,KOUTPUT输出答案。SAMP

2017-06-17 17:35:39 222

原创 Subsequence(POJ No.3061)(尺取法)

给定长度为n的数列整数a[0],a[1],...a[n-1]以及整数S。求出总和不小于S的连续子序列的长度的最小值。如果解不存在,则输出0。限制条件100S思路:(1)以s,t,sum分别代表连续子序列开始位置,结束位置,累加和;            (2)只要依然有sum            (3)如果无法满足sum>=S则终止。否则的话,更新res=mi

2017-06-17 16:15:41 250

原创 “玲珑杯”线上赛 Round #15 咸鱼魔法记(二分搜索)

DESCRIPTION给你一个01串,我们定义这个串的咸鱼值,是最长的全1串。现在你最多可以使用K次咸鱼魔法,每次魔法,你可以使得一个位置翻转(0变成1,1变成0)。问你这个串的咸鱼值最多是多少。INPUT第一行两个整数N,K。表示串的长度和可以施展咸鱼魔法的次数。(N,KOUTPUT输出答案。SAMP

2017-06-17 15:46:31 233

原创 “玲珑杯”线上赛 Round #15 咸鱼文章(栈)

DESCRIPTIONelttiL moT nwod eht teerts sllac ruo god " ehT peek god " . piZ si a peehs god . tuB nehw moT seirt ot yas " peeS " , ti semoc tuo " peek " . dnA ni a yaw moT si thgir . piZ si syaw

2017-06-17 11:03:38 372

原创 常用数据类型取值范围

int   :-2147483648~2147483647(10位数)unsigned   int  : 0~4294967295  long  : -2147483648~2147483647unsigned long :0~4294967295long long (__int64):9223372036854775807~-9223372036854775808(19位

2017-06-17 10:26:06 533

原创 “玲珑杯”线上赛 Round #15 A Reverse the lights(dp)

DESCRIPTION有nn个灯,初始时都是不亮的状态,每次你可以选择一个某一个灯,不妨记为xx,所有满足和xx距离不超过kk的灯的状态都将被翻转,选择第ii个灯的代价记为cici,问最终所有灯都是亮的状态的最小花费.INPUT输入有两行,第一行包含两个正整数n(1≤n≤10000)和k(0≤k≤1000)n(1≤n≤10000)和k(0≤k≤100

2017-06-17 10:03:50 189

原创 埃氏筛法

时间复杂度:O(nlognlogn),对于程序设计竞赛中的数据规模,看作线性也无妨代码:int prime[maxn];//第i个素数bool is_prime[maxn+1];//is_prime[i]为true表示i是素数//返回n以内素数的个数int sieve(int n){ int p=0; for(int i=0;i<=n;i++)

2017-06-16 18:31:57 218

原创 最大化平均值(二分搜索)

有n个物品的重量和价值分别是w[i]和v[i]。从中选出k个物品使得单位重量的价值最大。限制条件:11输入   n=3   k=2   (w,v)={(2,2),(5,3),(2,1)}输出    0.75(选0号和2号物品,(2+1)/(2+2)=0.75)思路:

2017-06-16 12:47:38 900

原创 HDU 1250 Hat's Fibonacci()

Problem DescriptionA Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1.F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n

2017-06-15 12:03:53 173

原创 2017图灵杯问题C 来简单地数个数(高精度)

题目描述这是一个斐波那契数列:f1 = 1 f2 = 2 fn = fn-1 + fn-2     (n>=3)蔡老板想知道,给你两个数a、b,你能否求出在区间[a,b]里有多少个斐波那契数。输入多组数据输入。一行为一组输入数据,包括两个非负整数a、b(a 输出对每组输入,输出单独一行,包含一个整数表示区间[a,b]里的斐波那契数个数

2017-06-15 11:45:35 529

原创 2017图灵杯问题F 一道简单的递推题()

题目描述存在如下递推式:F(n+1)=A1*F(n)+A2*F(n-1)+...+An*F(1)求第K项的值对1000000007取模的结果输入单组测试数据第一行输入两个整数 n , k (1第二行输入 n 个整数 F(1)   F(2)   ...   F(n)第三行输入 n 个整数A1   A2   ...   An 输出

2017-06-14 22:34:45 628 1

原创 常用函数

(1)inplace_merge()函数:参数:inplace_merge(first,mid,last,compare)头文件:前提条件:区间[first,mid),[mid,last)有序,都呈升序或降序排列结果:一个容器内分两个有序的部分归并到本身的容器ps:merge函数从两个的有序列归并到其他容器;(2)更新中...

2017-06-14 21:28:16 196

原创 最近点对问题(UVa 10245)(分治)

给定平面上的n个点,求距离最近的两个点的距离。限制条件:1思路:代码:

2017-06-13 21:07:17 381

原创 2017图灵杯问题E 简单的RMQ(RMQ)

题目描述给定一个数组,其中的元素满足非递减顺序。任意给定一个区间[i,j],求其中某个元素重复出现的最大次数。输入多组数据输入。每组数据的第一行包含两个整数n和q(1输入结束于0(自成一行)。输出对输入的q个区间,每个区间输出一个整数表示该区间内重复最多的元素出现的次数,用换行分隔。样例输入10 3-1 -1 1 1 1 1 3

2017-06-12 21:36:48 290

原创 2017图灵杯问题J 简单的变位词(哈希算法)

题目描述变位词是指改变某个词的字母顺序后构成的新词。蔡老板最近沉迷研究变位词并给你扔了一道题:给你一些单词,让你把里面的变位词分组找出来。互为变位词的归为一组,最后输出含有变位词最多的前五组。如果有组数相同的按照字典序输出。输入 输入包含由小写字母组成的单词,用换行分割,被EOF终止。 输入数据不超过30000个单词。输出 输出五组包含单词数量最

2017-06-12 15:31:09 399

原创 2017图灵杯问题D 简单的图形输出(dfs)

题目描述谢尔宾斯基三角形是一种分形,它的构造过程是这样的:1.取一个实心的三角形。(多数使用等边三角形)2.沿三边中点的连线,将它分成四个小三角形。3.去掉中间的那一个小三角形。4.对其余三个小三角形重复1。我们想尝试用斜线、反斜线和下划线画出谢尔宾斯基三角,假设最小的三角是长这样的:  /\/__\具体规律详见样例。输入多组数据输入输出

2017-06-12 14:34:43 681

原创 逆序数(分治)

问题:给定一个1~n的数组,求ia[j]的逆序对(i,j)的个数;限制条件:1思路:代码:typedef long long ll;//输入vector A;ll merge_count(vector &a){ int n=a.size(); if(n<=1) return 0; ll cnt=0;

2017-06-11 00:08:18 745

原创 集合的整数表示

在程序中表示集合的方法有很多种,当元素数比较少时,像这样用二进制码来表示比较方便。集合{0,1...,n-1}的子集S可以用如下方式编码成整数:1.空集:........................................................................................02.只含有第i个元素的集合{i}:.........

2017-06-10 20:42:55 2453 1

原创 铺砖问题(状态压缩DP)

给定n*m的格子,每个格子被染成了黑色或者白色。现在要用1*2的砖块覆盖这些格子,要求块与块之间互相不重叠,且覆盖了所有白色的格子,但不覆盖任意一个黑色格子。求一共有多少种覆盖方法,输出方案数对M取余后的结果。限制条件:112思路:用图论的语言来说就是一个完美匹配;首先考虑枚举所有的解这一方法(即暴力搜索),为了不重复统计,我们每次从最左上方的空格处开始放置,对于哪些格

2017-06-09 22:49:34 1723

原创 bzoj1657 Mooo(单调栈)

DescriptionFarmer John’s N (1 <= N <= 50,000) cows are standing in a very straight row and mooing. Each cow has a unique height h in the range 1..2,000,000,000 nanometers (FJ really is a stickle

2017-06-08 22:12:24 445

原创 bzoj3401 Look up(单调栈)

Description约翰的N(1≤N≤100005)头奶牛站成一排,奶牛i的身高是Hi(l≤Hi≤1,000,000).现在,每只奶牛都在向左看齐.对于奶牛i,如果奶牛j满足iInput    第1行输入N,之后每行输入一个身高.Output    共N行,按顺序每行输出一只奶牛的最近仰望对象.如果没有仰望对象,输出0.Sample I

2017-06-08 21:32:56 298

原创 2017计蒜之道第六场初赛 微软大楼设计方案(中等)(线段树)

近日,微软新大楼的设计方案正在广泛征集中,其中一种方案格外引人注目。在这个方案中,大楼由 nn 栋楼组成,这些楼从左至右连成一排,编号依次为 11 到 nn,其中第 ii 栋楼有 h_ih​i​​ 层。每栋楼的每一层为一个独立的 办公区域,可以步行 直达同层相邻楼栋的办公区域,以及 直达同楼栋相邻楼层的办公区域。由于方案设计巧妙,上一层楼、下一层楼、向左右移动到相邻楼栋同层的办公区域均刚好

2017-06-08 15:36:21 393

原创 线段树

线段树:擅长处理区间的数据结构,对区间的操作(1.查询  2.更新)可以在O(logn)时间内完成;代码:(基于线段树的RMQ)const int INF=0x3f3f3f3f;const int maxn=1<<17;//存储线段树的全局数组;int n,dat[2*maxn-1];//初始化void init(int n_){ //为计算方便,元素个数

2017-06-07 23:13:52 157

原创 KMP算法

BF算法:O(n*m)代码:int index(string S,string T)//返回主串S中与模式串T匹配的字符序列第一个字符的序号;{ int i=1,j=1; while(i<=S.length()&&j<=T.length()) { if(S[i]==T[j]) i++,j+

2017-06-07 21:12:22 196

原创 Largest Rectangle in a Histogram(POJ No.2559) (栈的运用)

A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure on the left shows

2017-06-06 23:08:13 297

原创 滑动最小值(双端队列)

给定一个长度为n的数列a(0),a(1),...,a(n-1)和一个整数k。求数列b(i)=min{a(i),a(i+1),...,a(i+k-1)}(i=0,1,2,3,...,n-k);限制条件:1思路:类似用一个长度为k的窗在整数数列上滑动,求窗里面所包含的数的最小值;          考虑双端队列(即单调队列),可以在头部和尾部插入和删除元素的数据结构;

2017-06-06 22:37:36 1199

原创 2017计蒜客第五场初赛 UCloud 的安全秘钥(困难)(哈希算法)

每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作。作为一家安全可信的云计算平台,秘钥的安全性至关重要。因此,UCloud 每年会对用户的秘钥进行安全性评估,具体的评估方法如下:首先,定义两个由数字序列组成的秘钥 aa 和 bb 近似匹配(\approx≈) 的关系。aa 和 bb 近似匹配当且仅当同时满足以下两个条件:|a|=|b|∣a∣=∣b∣,即 a

2017-06-05 18:32:10 290

原创 BFS(坐标)

const int INF=100000000;//使用pair表示状态:typedef pair P;//输入:char maze[maxn][maxn];//表示迷宫的数组;int N,M;int sx,sy;//起点坐标;int gx,gy;//终点坐标;int d[maxn][maxn];//到各个位置的最短距离的数组;//4个方向移动的向量;int dx[4]

2017-06-04 21:48:17 284

原创 滚动哈希(Rabin-Karp算法)

滚动哈希:O(n+m)时间内完成字符串匹配;实现:选取两个合适的互素常数b和h(l其中b是基数,相当于把字符串看作b进制数。这样,字符串S=s1s2s3...sn从位置k+1开始长度为m的字符串子串S[k+1...k+m]的哈希值,就可以利用从位置k开始的字符串子串S[k...k+m-1]的哈希值,直接进行如下计算:H(S[k+1...k+m])=(H(S[k...k+m-1])* b -

2017-06-03 23:00:42 9795

原创 2017网易春招 分饼干(DP)

易老师购买了一盒饼干,盒子中一共有k块饼干,但是数字k有些数位变得模糊了,看不清楚数字具体是多少了。易老师需要你帮忙把这k块饼干平分给n个小朋友,易老师保证这盒饼干能平分给n个小朋友。现在你需要计算出k有多少种可能的数值 输入描述:输入包括两行:第一行为盒子上的数值k,模糊的数位用X表示,长度小于18(可能有多个模糊的数位)第二行为小朋友的人数n输出描述:

2017-06-03 11:04:04 762

原创 2017网易春招 堆砖块(DP)

小易有n块砖块,每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单,砖块堆砌就是简单的高度相加,某一块砖只能使用在一座塔中一次。小易现在让能够堆砌出来的两座塔的高度尽量高,小易能否完成呢。 输入描述:输入包括两行:第一行为整数n(1 ≤ n ≤ 50),即一共有n块砖块第二行为n个整数,表示每一块砖块的高度height[i] (1 ≤ height[

2017-06-01 14:52:05 1289

原创 2017网易春招 小易记单词(set)

小易参与了一个记单词的小游戏。游戏开始系统提供了m个不同的单词,小易记忆一段时间之后需要在纸上写出他记住的单词。小易一共写出了n个他能记住的单词,如果小易写出的单词是在系统提供的,将获得这个单词长度的平方的分数。注意小易写出的单词可能重复,但是对于每个正确的单词只能计分一次。 输入描述:输入数据包括三行:第一行为两个整数n(1 ≤ n ≤ 50)和m(1 ≤ m ≤ 50)。以

2017-06-01 11:28:48 397

空空如也

空空如也

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

TA关注的人

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