- 博客(51)
- 收藏
- 关注
原创 1114 - 你看错D了
DESCRIPTION求有多少个以11号点为根的NN个点的带标号有根树, 满足深度为奇数的点恰有KK个, 答案对998244353998244353取模根的深度为11INPUT一行两个整数N,KN,KOUTPUT一行一个整数表示答案SAMPLE INPUT4 2
2017-04-03 13:33:01
467
原创 1113 - 这一定不是C
DESCRIPTION有一棵NN个点的树,显然这棵树上共有n×(n+1)2n×(n+1)2 条不同的简单路径现在求有多少个不同的简单路径KK元组(P1,P2,....,PK)(P1,P2,....,PK), 使得任意两条KK元组中的路径有至少一个公共点注意, 一条简单路径可以出现在KK元组中多次INPUT第一行两个整数N,KN
2017-04-03 13:28:53
484
原创 1112 - 我也不是B
DESCRIPTION小 L 有一串 QQ 个数排成一排,从左往右是 A1A1 开始一直到 AQAQ,它一直很喜欢这串数。有一天,小 L 去高考报名了,小 J 和小 N 过来用这串数玩游戏。一开始,小 N 手上有一个空序列,定义变量C:=0C:=0。小 J 从左往右依次把序列中的数取出,放到小 N 手上序列的最右边,如果放完之后,整个序列的混乱度超过了
2017-04-03 13:24:41
680
原创 1111 - 你没看见A
DESCRIPTION你有NN个苹果以及NN个梨子, 第ii个苹果的美味度是AiAi, 第j个梨子的美味度BjBj在接下来的NN天里面, 每天你要吃掉一个苹果和一个梨子, 每天的愉悦度是吃掉的苹果和梨子的美味度的乘积, 显然吃掉的水果不能再吃你想知道,最好情况下, 接下来这NN天的愉悦度的最大值INPUT第一行一个整数NN
2017-04-03 13:19:00
372
原创 2016多校联赛 hdu 5728 PowMod
题意就是题目上的图的那个样子。给定的n是一个n is a square-free number. 他是一个无平方因子数。也就是说他分解质因子后质因子的指数是1.解决这个题分两步,先说第二步,第二步是 bzoj 3884原题,只是在这个题我们需要算底数是多少而已。引用一下别人的证明(本人巨菜)考虑欧拉定理,当(a,p)=1 时,aϕ(p)≡1(modp)。
2016-07-20 15:55:41
923
原创 2016多校联赛 hdu 5724 Chess
题意:给你一个n*20的棋盘,n的范围是2000,每行给定m个棋子,两个人移动这些棋子,每个人只能将某个棋子移动到相邻的棋子的右边,如果他的右边有棋子,那么就移到右边没有棋子的地方。此题就是一个sg函数的题目,需要找出每一行的sg值,然后异或就可以咯。找sg需要在初始化的时候就找,也就是在t之前,暴力找出所有情况的sg。注意这个题只有20行,所以状态压缩一下就可以,每一行有
2016-07-20 15:29:32
456
原创 51 nod 1099 任务执行顺序
有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i])。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。Input第1行:1个数N,表示任务的数量。(2 <= N <= 100000)第2 - N + 1行:每行2个
2016-05-31 22:47:21
606
原创 51 nod 最高的奖励
有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。Input第1行:一个数N,表示任务的数量(2 <= N <= 50000)第2 - N + 1行,每行2个数,中间用空格分隔,表
2016-05-30 19:03:54
651
原创 计蒜客 硬币翻转(二进制压缩)
在一个 nnn 行 mmm 列的网格中,每个网格中有一枚硬币,在翻转某一个网格中的硬币时,与该网格共边的四个网格中的硬币也将被翻转。求至少需要进行多少次翻转操作,可以将所有的硬币变为正面朝上。输入格式输入包含多组测试数据,对于每组测试数据:第一行包含两个整数 n,mn,mn,m(1≤n≤100;1≤m≤151 \leq n \leq 100 ; 1 \leq m \leq 151≤
2016-05-29 11:01:28
1197
1
原创 51 nod 1067 Bash游戏V2
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次只能拿1,3,4颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。例如N = 2。A只能拿1颗,所以B可以拿到最后1颗石子。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000)第2 - T + 1行:每行1个数
2016-05-28 18:38:47
378
原创 51 nod 1267 4个数的和为0
给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出"Yes",否则输出"No"。Input第1行,1个数N,N为数组的长度(4 <= N <= 1000)第2 - N + 1行:A[i](-10^9 Output如果可以选出4个数,使得他们的和为0,则输出"Yes",否则输出"No"。Input示例5-11-524
2016-05-28 18:28:35
425
原创 51 nod 数组的最大代价
数组A包含N个元素A1, A2......AN。数组B包含N个元素B1, B2......BN。并且数组A中的每一个元素Ai,都满足1 (公式表示所有两个相邻元素的差的绝对值之和)给出数组B,计算可能的最大代价S。Input第1行:1个数N,表示数组的长度(1 <= N <= 50000)。第2 - N+1行:每行1个数,对应数组元素Bi(1
2016-05-28 18:23:44
388
原创 51 nod 1396 还是01串
给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s[0..k - 1]中的0的个数与子串s[k..n - 1]中1的个数相等。 注意:(1) 如果k = 0, s[0..k - 1]视为空串(2) 如果k = n, s[k..n - 1]视为空串(3) 如果存在多个k值,输处任何一个都可以(4) 如果不存在这样的k值,请输出-1
2016-05-28 18:17:49
509
原创 51 nod 数数字
题意:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770统计一下 aaa ⋯ aaan个a × b 的结果里面有多少个数字d,a,b,d均为一位数。样例解释:3333333333*3=9999999999,里面有10个9。
2016-05-28 18:13:17
409
原创 51 nod 1268 和为k的组合
题目:给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:"Yes",否则输出"No"。Input第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)第2 - N + 1行:每行1个数,对应数组的元素A[i] (1 Output如果可以,输出:"Yes",否则输出"No"。
2016-05-28 18:06:24
775
原创 HDU 5635 LCP Array
题意:问题描述Peter有一个字符串s=s_{1}s_{2}...s_{n}s=s1s2...sn, 令\text{suff}_i =s_{i}s_{i+1}...s_{n}suffi=sisi+1...sn是ss第ii字符开头的后缀. Peter知道任意两个相邻的后缀的最长公共前缀a_i = \text{lcp}(\text{suff}_
2016-03-06 20:54:35
449
原创 HDU 5605 geometry
问题描述在平面直角坐标系上有一个点PP, 他的坐标是(x, y)(x,y). 有一条直线y = kx + by=kx+b经过了PP, 且分别交x, yx,y正半轴于A, BA,B. 求|PA| * |PB|∣PA∣∗∣PB∣的最小值.输入描述第一行一个TT, 表示数据组数.接下来TT行每行两个正整数x,yx,y, 表示PP的坐标.T=500, 0 T=500,0X,Y≤10
2016-01-02 21:26:02
778
原创 HDU 1792 推论 大东软(万岁)平安夜组合同理
这个题就是说给我们两个价值,然后不限我们每个价值的数量。求最大的的一个不能被am+bn表示的数。复杂的公式推导我觉得大家都不想去看,我们直接用传统的方法让大家理解。希望大家认真看下去,可能有的人会觉得简单,但是想看的就看看哈。我们只推导m和n互素的情况下,为什么最大不能被组合的数是(m-1)n-m;对于他们不互素的情况,只是扩展欧几里得的一个应用,其他的很多人都有推论。
2015-12-25 14:15:40
737
原创 HDU 5273 Dylans loves sequence
题意:Dylans得到了NN个数a[1]...a[N]a[1]...a[N]。有QQ个问题,每个问题形如(L,R)(L,R)他需要求出L-RL−R这些数中的逆序对个数。更加正式地,他需要求出二元组(x,y)(x,y)的个数,使得L \leq x,y \leq RL≤x,y≤R且x xy且a[x] > a[y]a[x]>a[y]就是求一个区间逆序数的个数。N≤1000,Q≤1000
2015-12-17 12:53:38
438
原创 vijos-p 马拦过河卒
棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过15的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马
2015-12-14 14:38:30
509
原创 HDU 5596 GTW likes gt
题意:从前,有nn只萌萌的GT,他们分成了两组在一起玩游戏。他们会排列成一排,第ii只GT会随机得到一个能力值b_ibi。在第ii秒的时候,第ii只GT可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的GT。为了使游戏更加有趣,GT的首领GTW会发功mm次,第ii次发功的时间为c_ici,则在第c_ici秒结束后,b_1,b_2,...,b_{c_i}b1,b
2015-12-14 14:27:51
472
原创 HDU 5597 GTW likes function
题意:现在给出下列两个定义: f(x)=f_{0}(x)=\sum_{k=0}^{x}(-1)^{k}2^{2x-2k}C_{2x-k+1}^{k},f_{n}(x)=f(f_{n-1}(x))(n\geq 1)f(x)=f0(x)=∑k=0x(−1)k22x−2kC2x−k+1k,fn(x)=f(fn−1(x))(n≥1) \varphi(
2015-12-14 14:21:39
450
原创 HDU 5595 GTW likes math
题意:某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学《从自主招生到竞赛》。然而书里的题目太多了,GTW还有很多事情要忙(比如把妹),于是他把那些题目交给了你。每一道题目会给你一个函数f(x)=ax^2+bx+c,求这个函数在整数区间[l,r]之间的最值。很多人可能会觉得这道题太简单了,是的,为什么我要写出来呢,就是因为这道题,我连续错了3次,就因为那个整数区间的最值问题,我看到这个函
2015-12-14 14:15:24
457
原创 codeforces335 div1 Sorting Railway Cars
题意:给你一个数列是1-n的数,让你最终让他们有序排列,你每次只能移动一个数到数列的头部或者尾部。问你最少需要移动几次。开始还没有明白这个题是考的什么知识点,后来才发现就是考一个连续的子序列问题,最后用总数减去最长的序列就可以了。还是做题太少,别人一眼就看出来了。#includeusing namespace std;int main(){ int n; wh
2015-12-14 14:08:42
493
原创 HDU 5228 ZCC loves straight flush
题意:(直接看的BC上的中文题,其实说实话,这个是不好的,希望大家不要这样。)就是让你把5个输入的数编程同花顺的最小步数。其中牌只有4中花色,用A、B、C、D表示,然后值用1-13表示。特殊的:A10、A11、A12、A13、A1也是同花顺。其实说到底还是自己不够仔细。代码也太弱,这个题很简单想到的就是暴力解法,但是自己写的太复杂,很容易错。写这个题是为了让自己看看差距,同一个题,
2015-12-07 22:44:23
399
原创 VIJOS-P1033
整数分解(2):这个题是叫我们把一个n分成几个数相加的形式,然后求这几个数的乘积最大的情况(n其实首先想到的应该就是什么情况两个数的乘积是最大的情况。比如4=2+2,,5=2+3;应该是尽量的平均分配。再比如8=4+4=2+2+2+2;最终我们不难发现都可以转换成2和3相加。但是唯一有一个特殊的值,那就是1,特判一下就可以。最终转化成n=2^a+3^b;(此时的
2015-12-05 00:40:08
432
原创 codeforces 604B More Cowbell
题意:给定一个n和一个k,满足(1 ≤ n ≤ 2·k ≤ 100 000),然后给你n个数,按照不递减排列的,这里的k表示的是箱子的个数,你需要把这n个数装到k个箱子里面,一个箱子最多装两个数,这两个数的和就是箱子的容量。最后求箱子的最小容量时多少。这个题有点坑,首先我们要考虑一下k>n的情况哈,那么就是n个数的最后一个数就是箱子的容量。然后注意:我们是不是想把小的尽量和小的组合放在
2015-12-02 02:51:00
780
转载 搞ACM的你伤不起(转)
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道
2015-12-02 02:11:22
439
原创 HDU 5207 Greatest Greatest Common Divisor
题意:在数字a中找出两个数ai和aj(i!=j),使得两者的最大公约数取到最大值首先数组元素可能有100000个,暴力肯定要超时的。所以只能想其他的办法。其实发现我们只需要找到每个数的所有因子,然后标记下来,出现一次就加一,最后看这些数最大的数是多少就可以了#include#include#include#include#includeusing namespace
2015-11-28 10:37:39
494
原创 HDU 5206 BC Four Inages Strategy
题意:给你四个空间坐标点,让你判断这四个点可以围成一个正方形吗?如果是,输出Yes,否则输出No想法就是枚举 两两之间的距离,4个点就有6个距离,然后从小到大排序 ,前面的4个必须要相等,是四边形的四条边,最后两个较大边也必须要相等,是两条对角线#include#include#include#include#includeusing namespace std;in
2015-11-27 21:25:17
473
原创 ACM 用1-9组成的三个三位数,比例为1:2:3
ACM 用1-9组成的三个三位数,每个数字智能用一次,比例为1:2:3,例如192 384 576。刚刚开始根本就没有想到什么好的办法,因为感觉无从下手。后来就发现最小的那个数最大不能超过333.就想用暴力。结果还真的可以解决。#includeint num[10];int main(){ for(int a=123;a<=333;a++) {
2015-11-27 18:35:44
1554
原创 codeforces 601A The Two Routes
题意:题目中给你一个n个点的完全图,然后给出其中的m条无向边代表地铁路,剩下的代表公路。行走一个城市就需要花1个小时,两个人在n点之前不能在任何点相遇,然后两个人都是从1出发到n,问两个人最快在n点相遇的时间需要花多少多少?分析:这道题是当时div 2的第三题,我觉得好难,我根本没有什么想法。后来,看了别人的代码,我觉得很奇怪,后来才想明白。其实不管怎么样,总有一个人可
2015-11-25 22:26:33
744
原创 UVA 147 Dollars
题意:就是给你11钟面额的钱,然后给你一个大面额的,用小面额的代替大面额的方法有多少种。只是这里出现了小数,首先我们肯定是想吧小数转化成整数,所有面额都*100;然后完全背包解决掉,实际后面还要注意一个精度的问题。代码中注意细节#includeusing namespace std;int w[11]={5,10,20,50,100,200,500,1000
2015-11-22 02:27:59
523
原创 poj 2063 Investment
题意:银行存钱问题,首先给一个本金(N)和存的年数,然后给你d个存款的方式,有两个参数:一个是需要存的钱数,和一年之后可以得到多少钱。注意:一年之后本金会发生变化,会加上这一年得到的利息。(钱数可以整除1000)写这个题有两个目的:1.自己留一个完全背包模板。2.这个题可以优化一下。#include#includeusing namespace std;int dp[
2015-11-22 01:57:02
455
原创 codeforces 599C Day at the Beach
题意:给你n个数字,然后让你求可以最大把他们分成几块。每块按照从小到大排序之后,这n个数就是有序的。思想:比如前面有k个数位一块,那么这k个数满足的性质:这k个数的最大值现在我们就要实现找出最大值和最小值,最大值应该为前面k个数的最大值ma[i]表示前面i个数的最大值最小值应该为后面开始算mi[i]表示从i到n所有数的最小值#includ
2015-11-22 01:50:55
1056
原创 HDU 5569 matrix
问题描述给定n*mn∗m(n+mn+m为奇数)的矩阵,从(1,1)(1,1)走到(n,m)(n,m)且只能往右往下走,设经过的数为a_1, a_2 ... a_{2k}a1,a2...a2k,贡献为a_1*a_2+a_3*a_4+...+a_{2k-1}*a_{2k}a1∗a2+a3∗a4+...+a2k−1∗a2k,求最小贡献。输
2015-11-21 22:48:20
408
原创 STL中set的相关运用
set容器简介:set是一个容器,它用于储存数据并且能从一个数据集合中取出数据。它的每一个元素的值必须是唯一的,而且系统会根据该值来自动讲数据排序。每个元素的值不能直接改变。头文件#include set的内部排序默认也是less,key为关键字,就是数据类型它提供一个双向的定位器来读写取数据;它已经很据关键字和一个比较函数来排好序了;它的每一个关键字都是唯一的
2015-11-20 21:29:32
474
原创 HDU 5430 Reflect 欧拉函数
We send a light from one point on a mirror material circle,it reflectsN times and return the original point firstly.Your task is calcuate the number of schemes.InputFirst line conta
2015-11-20 21:13:02
570
原创 HUNAN 13323 数字整除
题意:就是判断一个数是不是17的倍数,但是这个数给的值会超过long long,那么就不能直接判断了,提供两个办法解决这个题哈。第一个:高精度解决,上代码,不废话。#include#includeint main(){ char s[1005]; int a[1005]; while(~scanf("%s",s)) { if
2015-11-20 20:52:37
809
原创 HDU 2546 饭卡
变形的01背包问题,首先他告诉我们,只有有5元,我们就能买东西,他要求我们最后剩下的钱最少,我们就可以换个思路来考虑,最贵的我们一定要买,而且我们要最后再买,我们只需要留下5元钱来支付最贵的商品就可以了。如果我们的钱不足5元,那么我们就一样菜都买不到,就直接输出钱数就可以了dp[i]存的是有i元的时候我们的最大花费是多少元#include#include#i
2015-11-19 18:19:50
526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅