ACM 思维
15zhazhahe
打杂小能手/吃/喝/睡/胖/菜/
展开
-
Ural 2067 Friends and Berries 【思维】
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2067 题意:给你2*1e5个点,定义最好的朋友是指,u和v的距离大于或等于u,v,w相互三条边的距离之和的一半,w为除了u,v任意一个点,u,v不可重复,让你输出有几对最好的朋友,并输出编号 解析:因为三点如果不共线,另外两点不可能大于三角形周长的一半,所以只能是三点共线的情况,而且u,v必须原创 2017-02-16 20:53:44 · 600 阅读 · 0 评论 -
CodeForces 798D Mike and distribution
题目链接:http://codeforces.com/contest/798/problem/D 题意:给你两长度为n的序列a和b,让你从里面选择n/2+1个位置出来,使得这个位置上的元素的和严格大于各自序列和的二分之一,让你输出n/2+1个数,代表位置 解析:假设只给你一个数组,不让你排序,如果你要选出这样的n/2+1个位置,那是不是,两两比较选择大的那个,再随便选一个之前没选过的,这样的贪心原创 2017-05-01 22:01:06 · 1344 阅读 · 0 评论 -
CodeForces 805A Fake NP
题目链接:http://codeforces.com/contest/805/problem/A 题意:输入两个整数l,r,让你找一个因子,使得[l,r]里面所有的数,能整除这个因子的数最多,让你输出这个因子,如果答案有多个,输出任意一个 解析:首先lr区间里面一定有偶数,除非lr相等,如果lr相等那么直接随便输出lr里面的一个就好了,如果不相等就输出2,因为偶数的因子一定有2,但是奇数没有一定原创 2017-05-05 09:06:06 · 1240 阅读 · 0 评论 -
CodeForces 805D Minimum number of steps
题目链接:http://codeforces.com/contest/805/problem/D 题意:给你一个字符串,你要对他进行操作,直至不能操作为止,操作的结果是,遇到ab字符串就把他变成bba,问你最少需要多少次操作 解析:其实变几个你大概就能发现规律了,ab->bba,abb->bbab->bbbba,你会发现a后面跟着几个b,那就需要变几次,而且变过以后,b的个数会翻一倍,并且放到了原创 2017-05-05 15:37:06 · 723 阅读 · 0 评论 -
CodeForces 814A An abandoned sentiment from past
题目链接:http://codeforces.com/contest/814/problem/A 题意:给你一个长度为n的序列a,里面有k个空,现有长度为k的序列b,让你把全部的b都填到a里面,问你是否能使得a是非递增的 解析:首先你会发现k>1时,是一定可以的,因为第一次放不符合,你换个位置就符合了,然后就是k等于1的情况了,那你直接放进去,判断下就可以了#include <bits/stdc原创 2017-06-09 00:14:15 · 993 阅读 · 0 评论 -
hdu6055 Regular polygon【思维+几何基础】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6055 题意:给你n个坐标为整数的点,让你求有有多少个正多边形 解析:首先这个正多边形一定是正四边形,因为点是整点,接下来需要判断有几个,那么枚举两个点,然后去找这条线段构成的正方形是否存在,找正方形,用坐标旋转即可(90度很特殊,算起来很快)#include <iostream>#include原创 2017-07-27 21:13:27 · 453 阅读 · 0 评论 -
hdu6168 Numbers
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6168 题意:有一个长度为n的序列a1……an,根据a序列生成了一个b序列,b[i] = a[i]+aj,然后有一个人把a,b序列按随机顺序混合了起来,现在问你初始的a序列是什么 解析:首先先对给你的这个a,b混合序列排个序,那么最小的一定是a的初始序列里面的元素,那么剩下的肯定是由之前的序列加起来的原创 2017-08-22 21:07:24 · 631 阅读 · 0 评论 -
hdu6043 KazaQ's Socks
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6043 题意:有一个人,有n双袜子(袜子编号从1到n),他必须凑齐n-1双袜子,才会去洗,他每天早上会穿没有穿过的编号最小的袜子,每天晚上会把袜子丢进脸盆里,如果脸盆里有n-1双袜子,他就洗了这些,现在问你他第k天,穿的袜子编号是几 解析:就单从题目描述来讲,肯定是有规律,而且数据规模也这样暗示了,所原创 2017-08-23 12:16:04 · 343 阅读 · 0 评论 -
hdu6044 Limited Permutation【读入优化+dfs】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6044 题意:有长度为n的序列,分别表示l[i]和r[i],然后让你构造一个a序列,a[i]满足在[l[i],r[i]]区间里面,a[i]为最小值,满足这样条件的序列有多少种 解析:首先根据题面的限定,肯定存在一个区间i是[1,n],对于这个区间,可以说第i个值已经确定了,因为这个区间是当前的整个区间原创 2017-08-27 10:32:53 · 403 阅读 · 0 评论 -
hdu6058 Kanade's sum
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6058 题意:给你一个1~n的全排列,让你求所有区间第k大的求和 解析:这题需要从每位的贡献值来处理,比赛的时候队友用set写,一直超时,觉得可能多了一个log时间复杂度,赛后看题解,发现应该用链表来维护,对于每一位x来说,算他总共在几个区间里是满足第k大的,然后把区间数x,再加到答案上即可,那么对于原创 2017-08-23 22:17:04 · 307 阅读 · 0 评论 -
CodeForces 876C Classroom Watch
题目链接:http://codeforces.com/contest/876/problem/C 题意:给你一个正整数n,让你找出所有的x,使得x加上x的个位数的和等于n 解析:其实你可以理解成是x+y等于n,只是恰好y很灵性而已,如果直接找x,其实蛮难找的,但是y的范围确实有限定的,最多每一位都去9,所以你可以选择,枚举y,然后判断x是否合法即可,输出答案一定要降序!!!#include<bi原创 2017-10-17 16:28:21 · 450 阅读 · 0 评论 -
CodeForces 798C Mike and gcd problem
题目链接:http://codeforces.com/contest/798/problem/C 题意:给你一个定义如果B序列,gcd(b[0],b[1],b[2]……)>1,那么称B为漂亮序列,现在给你一个序列A,让你对他进行操作,操作时,对于两个元素a[i],a[i+1],你可以把他替换成a[i+1]-a[i],a[i+1]+a[i],现问你,要最少多少次操作能把A序列变为漂亮序列,如果可以则原创 2017-05-01 21:22:23 · 701 阅读 · 0 评论 -
CodeForces 764D Timofey and rectangles【四色问题】
题目链接:http://codeforces.com/contest/764/problem/D 题意:给你n个矩形,让你给这些矩形染色,问你能否只用四种颜色全部染完他们,相邻矩形不能染一样的颜色,如果可以输出YES,并输出每块矩形所染的颜色(1~4),否则输出NO 解析:四色问题,所以肯定是可以的,接下来就是看怎么染了,既然是四种颜色,那么我们可以选择矩形上的一个点,分别判断x和y的奇偶情况,原创 2017-04-02 13:28:41 · 834 阅读 · 0 评论 -
CodeForces 764C Timofey and a tree
题目链接:http://codeforces.com/contest/764/problem/C 题意:给你一棵树,每个节点的颜色为col[i],让你从这棵树中任意选择一个节点为根节点,使得所有的子树,在子树内部的所有颜色都是一样的,如果存在这样一个点那就数输出YES和这点,如果答案有多个,则输出任意一个,否则输出NO 解析:假设有cnt条边的两个端点颜色不一样,所以这cnt条边肯定是全都连在根原创 2017-04-02 13:09:59 · 645 阅读 · 0 评论 -
Ural 2069 Hard Rock
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2069 题意:给你n条竖线m条横线,让你求,从右上角到左下角的所有路线的每条路线中的最小值最大,输出最大值 解析:根据给出的这个图的特点,竖着的线值是一样的,横着的线是一样的,路线总共有四种情况: 1、竖到底再横着走。 2、横到底再竖着走。原创 2017-02-16 21:22:40 · 445 阅读 · 0 评论 -
CodeForces 776C Molly's Chemicals
题目链接:http://codeforces.com/contest/776/problem/C 题意:给你一个序列,问你他有多少个子序列的和等k的多少次方 解析:先用前缀和处理子序列的和,如果枚举每个子序列的和即sum[i]-sum[j]=k^x,肯定会超时,那么可以做一个变换即sum[i]-k^x=sum[j],这样的姿势就能过了#include <cstdio>#include <cst原创 2017-03-17 23:59:43 · 438 阅读 · 0 评论 -
CodeForces 768C Jon Snow and his Favourite Number
题目链接:http://codeforces.com/contest/768/problem/C 题意:给你长度为n的序列a,有k次操作,每次操作都是对a排序,然后对序列a的奇数为做a[i]^x操作,问你k次操作后序列的最小值和最大值 解析:大胆猜测执行一定步数以后最小值和最大值会恒定下来(不然我不知道怎么写。。。),然后就这样过了。。。#include <cstdio>#include <c原创 2017-03-18 19:15:44 · 664 阅读 · 0 评论 -
Gym - 101246H ``North-East''【思维+nlogn LIS】
题目链接:https://vjudge.net/problem/Gym-101246H 题意:给你n个点,你只能往右上角走,让你尽可能走多得点,问你,你必须走哪些点和一定会走哪些点 解析:听了maple大佬的思路,才知道这题要转化成最长递增子序列来写,实在是太厉害了,膜一发大佬。其实可以把这些零散的点按x的大小排个序,x小的在前面,x相同,y大的在前面(注意y大的一定要在前面,代原创 2017-03-07 13:49:38 · 1046 阅读 · 0 评论 -
CodeForces 765D Artsem and Saunders
题目链接:http://codeforces.com/contest/765/problem/D 题意:有这么一个函数f:n->n,问你是否存在g:n->m,和h:m->n,且满足g(h(x)) = x,h(g(x)) = f(x),现告诉你n和f(1)到f(n),问你是否存在,若不存在则输出-1,若存在输出m,g(1)到g(n)和h(1)到h(m) 解析: 因为g(h(x)) = x,h(g原创 2017-03-27 19:54:16 · 343 阅读 · 0 评论 -
CodeForces 785C Anton and Fairy Tale【二分答案+思维】
题目链接:http://codeforces.com/contest/785/problem/C 题意:给你一个谷仓,容量为n,每天往谷仓里放m斤粮食,然后第i天从谷仓拿i斤粮食,问你几天后谷仓第一次空 解析:很明显的二分答案,但是我犹豫了,因为我n和m有点大,不过仔细想想,递减的是平方量级的,所以在int范围内,谷仓一定会出现第一次空,那么剩下的就是二分了,前m天其实是没有拿东西的概念的因为拿原创 2017-03-20 22:38:28 · 491 阅读 · 0 评论 -
CodeForces 791C Bear and Different Names
题目链接:http://codeforces.com/contest/791/problem/C 题意:给你n和k,表示有n个士兵,下面有n-k+1个字符串,表示对i到i+k-1的士兵的判断,如果i到i+k-1的士兵没有名字重复的,那就是YES,否则NO,让你输出一个符合输入的字符串序列 解析:首先名字的组成很重要:”[A-Z][a-z]{0,9}”,其次是怎么搞,其实先构造出YES的很简单,全原创 2017-03-22 13:58:36 · 371 阅读 · 0 评论 -
CodeForces 767B The Queue
题目链接:http://codeforces.com/contest/767/problem/B 题意:有一家卖票的机构,开始营业时间为ts,结束营业时间为tf,服务一个人的时间为t,现有n个人排队买票,告诉你每个人排队的时间,问你要尽可能快的买到票,该何时去插队。 解析:插队肯定是要么插在队头,要么就插在队尾,或者插在两个人之间,插在两个人之间,最好的方法肯定是比如插在a[i]前面,肯定是插在原创 2017-03-24 11:41:51 · 373 阅读 · 0 评论 -
CodeForces 777C Alyona and Spreadsheet
题目链接:http://codeforces.com/contest/777/problem/C 题意:给你一个n*m的矩阵,有q次询问,每次询问输入两个整数x,y,问你在x行到y行直接是否存在一列是非减序列 解析:如果直接暴力存每列的最大长度的话,可能会超时,比如100000*1这个规模的矩阵,直接暴力做是会超时的,所以如果用一个vis存一下,类似记忆化的一个东西,就可以过了#include原创 2017-03-15 13:34:14 · 476 阅读 · 0 评论 -
CodeForces 776B Sherlock and his girlfriend
题目链接:http://codeforces.com/contest/776/problem/B 题意:有n个宝石,第i个宝石的价格为i+1,现给宝石染色,如果价值x是价值y的素数因子,则不能染相同的颜色 解析:把1e5+1都预处理一遍,然后直接做即可#include <cstdio>#include <cstring>#include <algorithm>#include <cmath原创 2017-03-16 13:42:00 · 541 阅读 · 0 评论 -
CodeForces 868C Qualification Rounds
题目链接:http://codeforces.com/contest/868/problem/C 题意:有n到题目,有k支队为,每只队伍对于每到题目来说,有会(1)的有不会(0)的,现在问你能不能从这n道题里面选一套有趣的题目出来,使得每只队伍会的题目最多不超过所选题目的一半 解析:k最多就4支队,其实对于这n道题来说,如果有解,你一定能选出两道题,有的队伍会,其他队伍不会,原因嘛,emmmm,原创 2017-10-11 21:45:08 · 623 阅读 · 0 评论