XJOI 7191 Genius ACM】的更多相关文章

二分+倍增 题目 题目中的最大校验值应由数组排序后,取出最大值和最小值,次大值和次小值--进行做差平方取和 所以在加入一个新的数时,校验值是不会下降的 那么可以发现,校验值是单调递增的,所以可以用二分对每一个固定的左段点找到满足条件的最大的右端点 所以l初始值设为1,不断对r进行二分,找到最大的点 进行二分时要用二进制数(倍增),不能直接取mid 设一个偏量p,右端点即为r+p,一开始设为1,然后对其判断,在k的范围内p就乘2,否则p除以2 进行判断时,将整个区间进行排序,取前m个数和后m个数分…
题目链接 1384 -- Genius ACM 给定一个整数 m,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 m 对数(即 2*M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 m 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合 S 的“校验值”.现在给定一个长度为 n 的数列 A 以及一个整数 k.我们要把 A 分成若干段,使得 每一段的“校验值”都不超过 k.求最少需要分成几段. #include<bits/stdc++.h>…
0601 Genius ACM 0x00「基本算法」例题 描述 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合 S 的“校验值”. 现在给定一个长度为 N 的数列 A 以及一个整数 T.我们要把 A 分成若干段,使得 每一段的“校验值”都不超过 T.求最少需要分成几段. Advanced CPU…
Genius ACM Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturer in the world. Every day, they manufacture n CPU chips and sell them all over the world. As you may know, each batch of CPU chips must pass a quality test by the QC departm…
描述 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合 S 的“校验值”. 现在给定一个长度为 N 的数列 A 以及一个整数 T.我们要把 A 分成若干段,使得 每一段的“校验值”都不超过 T.求最少需要分成几段. Advanced CPU Manufacturer (ACM) is one of…
对于一个固定的区间$[l,r]$,显然只要将里面的数字从小到大排序后将最小的$m$个和最大的$m$个配对即可. 如果固定左端点,那么随着右端点的右移,$SPD$值单调不降,所以尽量把右端点往右移,贪心分割即可. 为了使得扫过的部分一定被分割下来,考虑倍增枚举区间长度,然后排序检验. 在得到区间长度属于某个区间$[2^k,2^{k+1})$后,可以将这里所有数字预先排好序,然后通过二分得到右端点的精确值,检验的时候只需要判断每个数字是否不超过$r$. 时间复杂度$O(n\log n)$. #inc…
题解: 发现匹配一定会选最大和最小匹配,确定左右端点之后nlogn排序后算 比较容易想到二分 最坏情况每次1个 $n^2*(logn)^2$ 没错暴力的最差复杂度是$n^2*logn$的 发现长度与次数相关 二分改成倍增 $n(logn)^2$ 然后大概常数好就过了吧 倍增的时候我们可以把排序看成一段有序的+一段无序的 可以把无序的先排序再和有序的归并 时间复杂度nlogn 代码: #include <bits/stdc++.h> using namespace std; #define ri…
题目链接:http://hihocoder.com/problemset/problem/1384 题目大意: 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整 数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合 S 的“校验值”. 现在给定一个长度为 N 的数列 A 以及一个整数 T.我们要把 A 分成若干段,使得 每一段的“校验值”都不超过 T.…
提交地址. 关于lyd给的倍增方法,即从当前枚举向后的$2^k$长度($k$从$1$开始),如果可行就将$k$加一以扩大范围,不可行时将范围不断减半直至$0$. 举个例子,假设当下在1,目标答案是13,那么枚举的范围变化情况是$2$,$4$,$8$,$16$(不行,且范围开始缩小),$12$,$14$(不行),$13$,$13$(范围缩小至0). 并没有看出这样倍增有什么好处.复杂度可证也是$O(logN)$的,但是不是会带个2左右的常数么..具lyd所说,当目标答案位置较近时会加快效率. 但是…
ACWing Description 给定一个长度为N的数列A以及一个整数T.我们要把A分成若干段,使得每一段的'校验值'都不超过N.求最少需要分成几段. Sol 首先是校验值的求法: 要使得'每对数的差的平方'之和最大,显然就是先排序,然后取最大和最小为一对,次大和次小为一对..... 然后是问题的转化:求最少分的段数,显然就是确定左端点后,在校验值不超过T的前提下尽量扩展右端点. 优化就在于右端点的扩展,当然就是用倍增辣qwq 还有就是求校验值的优化:可以不用每次都快排,而是先排增加的一段,…
这东西太玄学了我真是不太会... 对于这道例题,很容易看出最大值必然是最大减最小,次大减次小…… 常规的贪心思想,分的个数一样,总长度越大越好.其实我的第一想法是二分右端点..但是只有40,至今没有搞懂为什么倍增会比二分优秀,好玄学... #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<c…
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代表 CZJ 前面的队列.你可以帮他一把把那些情侣分开吗? Input 第一行是一个\(T\),代表数据的组数\(T\)(\(T\leq 100\)). 每组一个只包含大写字母的字符串\(p\)(\(1\leq len_{p}\leq 1000\)),表示 CZJ 前面的队列,保证不会有连续三个及以上…
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他们统计他们获胜的次数. Input 第一行是一个T,代表游戏的次数T(T≤1000).每组两个整数p,y(1≤p≤\(10^{100}\),1≤y≤\(10^{100}\)),分别表示两位小朋友说出的数字. Output 输出两个数,A和B获胜的次数.后面没有换行,仅此一题 Sample Input…
最后一场比赛打完了.之前为了记录一些题目,开了这个博客,现在结束了acm,这个博客之后也不再更新了. 大家继续加油!…
看了不少大神的退役帖,今天终于要本弱装一波逼祭奠一下我关于ACM的回忆. 从大二上开始接触到大三下结束,接近两年的时间,对于大神们来说两年的确算不上时间,然而对于本弱来说就是大学的一半时光.大一的懵懂浪费了我太多的时间,甚至现在都在后悔为什么不是在大一的时候才知道acm并参与到其中.其实对我现在来说大二已经不算晚了,但是比较悲剧就是没有真正学习,只是开会打酱油,听听zhoubo给我们打鸡血,对算法数据结构并没有什么概念,甚至有 "排序为什么用那么复杂的快排,冒泡不是很简单吗“ 这样愚蠢的想法,目…
Description We know that if a phone number A is another phone number B’s prefix, B is not able to be called. For an example, A is 123 while B is 12345, after pressing 123, we call A, and not able to call B. Given N phone numbers, your task is to find…
Description Both Saya and Kudo like balloons. One day, they heard that in the central park, there will be thousands of people fly balloons to pattern a big image. They were very interested about this event, and also curious about the image. Since the…
一匹黑马的诞生 故事还要从南京现场赛讲起,话说这次现场赛,各路ACM英雄豪杰齐聚南京,为争取亚洲总舵南京分舵舵主之职位,都使出了看 家本领,其中有最有实力的有京城两大帮清华帮,北大帮,南郡三大派上交派,浙大派以及电子科大派,说到这里可能有人会问QAU 的大神在哪里?唉!说到这里,此乃中原武林之痛乃至地球武林之痛呐,简单介绍一下QAU的大神,一号人物乃是西天如来佛祖是也 ,二号乃是当年大闹天宫的斗战胜佛孙猴子是也,三号人物乃是奥特曼(在地球上混的还行,在QAU只能够打扫卫生的分了),四号 ,五号,…
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=2000),问满足[数列长度是k && 数列中每一个元素arr[i]在1~n之间 && 数列中元素可以重复]的数列有多少个?结果对10^9+7取余 解题思路:dp[i][j]表示长度是j,最后一位是i的种数 if(kk%i==0) dp[kk][j+1]+=dp[i][j] #inc…
最近突然想往算法方向走走,做了做航电acm的几道题 二话不说,开始 航电acm 1002 题主要是处理长数据的问题,算法原理比较简单,就是用字符数组代替int,因为int太短需要处理的数据较长 下面是问题描述: Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.     Input The f…
ACM进阶计划ACM队不是为了一场比赛而存在的,为的是队员的整体提高.大学期间,ACM队队员必须要学好的课程有:lC/C++两种语言l高等数学l线性代数l数据结构l离散数学l数据库原理l操作系统原理l计算机组成原理l人工智能l编译原理l算法设计与分析除此之外,我希望你们能掌握一些其它的知识,因为知识都是相互联系,触类旁通的.以下学习计划每学期中的内容不分先后顺序,虽说是为立志于学习ACM的同学列的知识清单,但内容不限于ACM的知识.英语之类与专业相距较远的课程请自行分配时间,这里不再列举.大一上…
A. Stock Market 枚举哪一天买入,哪一天卖出即可. #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int P=1000000; int T,n,i,a[111],j,ans,m; int main(){ scanf("%d",&T); while(T--){ scanf("%d%d",&n…
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.   Input The input will consist of a series of integers n, one integer per line   Output For each case, output SUM(n) in one…
ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中: 使用    stdio.h    中包含的另一个函数freopen函数 FILE * freopen ( const char * filename, const char * mode, FILE * stream );文件名,打开的模式,文件指针,通常使用标准流文件(stdin/stdout…
IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 Industry Track Call for Papers * Apologies if you received multiple copies of this CFP * Beijing China August 17-20, 2014Home Page: www.asonam2014.org F…
IEEE/ACM International Conference on Advances in Social Network Analysis and Mining (ASONAM) 2014 Industry Track Call for Papers * Apologies if you received multiple copies of this CFP * Beijing China August 17-20, 2014Home Page: www.asonam2014.org F…
RoBa原创,转载请注明出处  劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道自己到底会不会啊有木有!!!!!! 然后你就得看lrj的黑书啊!!!!!!还是特么的没有习题…
校赛打完,已过四月,该是准备背起行囊,踏上考研之路了,自然,得先阔别一下ACM了,想起这几年ACM路,感慨颇多,不得不一诉心肠,与大家分享一下我的ACM历程,如果有人能从此文获取一些益处,那我就很欣慰了. 如果说作为一个做了快两年ACM的一个ACMer来说,我并不是成功的,至少在我们学校不是,或者说,是失败的,我说的失败并不是体现在没有得出很好的成绩,而是体现在自己进步的缓慢上.进步的缓慢是可以通过rating图看出来的,现在看着自己的rating图,往往能回想到当初一步一步走过来的艰辛与快乐.…
激动人心的省赛终于结束了…平静下来再回头看真的感觉一波三折…先是赛前毫无预兆的查出突发性耳聋…伴随而来的就是左耳听力下降.轻微耳鸣.极个别情况下的头晕…不过这都还好,毕竟药物可以恢复…热身赛只过了一道输出济南有多少泉水的水题,竟然第二次就猜对了,有个队交了四五十次…山师很心机的把酒店安排在了商业区.闹市和女子学院附近…(开个玩笑)为了不败第二天人品,我老老实实地待在了酒店,并没有出去嗨…正式赛开了…比赛打得多了,真的不紧张了…或许是喝了磊神指定饮料-红牛的作用…A是个签到题,我和Julyc讨论一…
题意有点难读懂 //网络流-EK算法-ACM计算机工厂-构图重点 //Time:0Ms Memory:208K #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<queue> using namespace std; #define MAXN 55 #define INF 0x3f3f3f3f int p,n; int s,t;…