Tyvj 题目1463 智商问题(分块)】的更多相关文章

P1463 智商问题 时间: 1500ms / 空间: 131072KiB / Java类名: Main 背景 各种数据结构帝~各种小姊妹帝~各种一遍AC帝~ 来吧! 描述 某个同学又有很多小姊妹了他喜欢聪明的小姊妹 所以经常用神奇的函数来估算小姊妹的智商他得出了自己所有小姊妹的智商小姊妹的智商都是非负整数但是这个同学看到别的同学的小姊妹也喜欢用神奇的函数估算一下然后看看这个小姊妹在自己的小姊妹群体中排在第几位...(这么邪恶的兴趣...) 输入格式 第一行一个整数N 代表小姊妹的个数第二行N个…
http://tyvj.cn/Problem_Show.aspx?id=1463 二分的话是水题啊.. 为了学分块还是来写这题吧.. 二分: #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream> #include <algorithm> using namespace std; #define rep(i,…
TYVJ 1463 智商问题 Time Limit: 1.5 Sec  Memory Limit: 512 MB 题目连接 http://www.tyvj.cn/p/1463 背景 各种数据结构帝~ 各种小姊妹帝~ 各种一遍AC帝~ 来吧! Description 某个同学又有很多小姊妹了 他喜欢聪明的小姊妹 所以经常用神奇的函数来估算小姊妹的智商 他得出了自己所有小姊妹的智商 小姊妹的智商都是非负整数 但是这个同学看到别的同学的小姊妹 也喜欢用神奇的函数估算一下 然后看看这个小姊妹在自己的小姊…
P1463 智商问题 时间: 1500ms / 空间: 131072KiB / Java类名: Main 背景 各种数据结构帝~各种小姊妹帝~各种一遍AC帝~ 来吧! 描述 某个同学又有很多小姊妹了他喜欢聪明的小姊妹 所以经常用神奇的函数来估算小姊妹的智商他得出了自己所有小姊妹的智商小姊妹的智商都是非负整数但是这个同学看到别的同学的小姊妹也喜欢用神奇的函数估算一下然后看看这个小姊妹在自己的小姊妹群体中排在第几位...(这么邪恶的兴趣...) 输入格式 第一行一个整数N 代表小姊妹的个数第二行N个…
Background 各种数据结构帝~各种小姊妹帝~各种一遍AC帝~ 来吧! Description 某个同学又有很多小姊妹了他喜欢聪明的小姊妹 所以经常用神奇的函数来估算小姊妹的智商他得出了自己所有小姊妹的智商小姊妹的智商都是非负整数但是这个同学看到别的同学的小姊妹也喜欢用神奇的函数估算一下然后看看这个小姊妹在自己的小姊妹群体中排在第几位…(这么邪恶的兴趣…) InputFormat 第一行一个整数N 代表小姊妹的个数第二行N个整数 代表这位同学N个小姊妹的智商接下来若干行 每行一个整数代表这…
题目描述: 又到毕业季,很多大公司来学校招聘,招聘会分散在不同时间段,小明想知道自己最多能完整的参加多少个招聘会(参加一个招聘会的时候不能中断或离开). 输入: 第一行n,有n个招聘会,接下来n行每行两个整数表示起止时间,由从招聘会第一天0点开始的小时数表示.n <= 1000 . 输出: 最多参加的招聘会个数. 样例输入: 3 9 10 10 20 8 15 样例输出: 2 经典的贪心算法题. #include <iostream> #include <vector> #i…
闲话 莫队算法似乎还是需要一点分块思想的......于是我就先来搞分块啦! 膜拜hzwer学长神犇%%%Orz 这九道题,每一道都堪称经典,强力打Call!点这里进入 算法简述 每一次考试被炸得体无完肤之后,又听到讲题目的Dalao们爆出一句 数据不大,用分块暴力搞一下就AC了 的时候,我就会五体投地,不得翻身...... 分块?暴力?真的有如此玄学? 直到现在我还是觉得它很笨拙,但要熟练运用(尤其是打大暴力部分分的时候),绝非易事. 没错,分块是优化的暴力,更轻松地资瓷在线,是一种算法思想,主…
题目传送门 第一次接触分块...... 分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况. 分块修改理论复杂度为O(N/M),M为块的大小,有基本不等式得M=Sqrt(N)时较优. 分块将原数组分为M块,对M块的信息进行维护. 这道题每个点记录一个它跳到下一个不是同一块的点是哪个点及需要几步跳到那个点. code: /***********************************************…
题目链接 掌握了分块打表法了.原来以前一直想错了... 块的大小\(size=\sqrt n\),每隔\(size\)个数打一个表,还要在\(0\text{~}size-1\)每个数打一个表. 然后就可以做到\(O(1)\)查询了. 比如要求\(A^{n}\),只需要算出\(biao[n/size]*pow[n\mod size]\)就好了. 然后我是看题解用了通项公式..事实上套个矩阵也没有影响. #include <cstdio> #include <cmath> #defin…
题面传送门 题目大意:给你一个序列,多次询问,每次取出一段连续的子序列$[l,r]$,询问这段子序列的逆序对个数,强制在线 很熟悉的分块套路啊,和很多可持久化01Trie的题目类似,用分块预处理出贡献,而这道题是用可持久化线段树罢了 首先对序列分块,设块大小为$S$ 再建出主席树,我们就能在$O(logn)$时间内查询某个点$i$与区间$[l,r]$内的点产生的逆序对数量 然后处理出点和整块之间的答案,设$f(i,j)$表示第$i$个点与第$j$块的开始/末尾这段区间内的点产生的逆序对数量. 再…
代码+注释: 1 /* 2 题意: 3 一共有n个人,其中0号是总裁(金字塔顶尖).后面输入其他n-1个人的信息啊a.b.c,分别代表第i个人的上级是a,他的 4 忠诚度为b,他的能力为c.后面有m次询问.他问你能不能找到一个能力比他高的,且忠诚度最高的人.(注意能力只需要 5 大于此人就可以,不需要最高) 6 7 8 题解: 9 这道题目用的是分块的方法 10 11 首先需要跑一遍dfs来确定每一个人所处于金字塔的位置.从总裁开始向他的下属跑dfs(注意是dfs不是bfs) 12 因为这样我们…
11.9 线段树 http://acm.hdu.edu.cn/showproblem.php?pid=6315 求逆序对个数 http://acm.hdu.edu.cn/showproblem.php?pid=6318 必赢博弈 http://acm.hdu.edu.cn/showproblem.php?pid=6312 欧拉回路 http://acm.hdu.edu.cn/showproblem.php?pid=6311 好难的构造题目 http://acm.hdu.edu.cn/showpr…
OwO 故事的起源大概是zcg前天发现51Nod晚上有场马拉松,然后他就很开心的过去打了 神奇的故事就开始了: 晚上的时候我当时貌似正在写线段树?然后看见zcg一脸激动告诉我第一题有九个点直接输出B就可以A.. 然后之后zcg以奇怪的二分方式发现了如何A掉第一题的第十个点(我记得貌似是什么第5000个数等于511? OwO 就这样没有任何思考含量全凭骗分黑科技过掉了第一题 OwO 然后zcg打开了第二题,发现第二题样例有点问题,然后就发了个帖子,直接去看第三题了 我去瞅了一眼,发现这不是gcd…
题目1434:今年暑假不AC 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:307 解决:180 题目描述: “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事).非常6+7.超级女生,以及王小丫的<开心辞典>等等,假设…
假的div2 C题没事写什么公式被卡精度了,掉分了gg --------------------------------------------------- A....几个每个字符串预先给好一个代表的值,给n个字符串,求和. 题解:手速题. #include<iostream> #include<cstdio> #include<algorithm> #include<queue> #include<cstring> #include<m…
HNOI2016 最小公倍数 (分块.并查集) 看到这种不能用数据结构(实际上是可以用K-D Tree的)维护的题目就应该想到分块然后使用并查集维护连通性和一个连通块中的\(maxa , maxb\)啊QAQ 为了区分询问的\(ab\)与边权的\(ab\),询问的\(ab\)描述变为\(AB\) 对于所有边按照\(a\)从小到大排序并\(\sqrt{M}\)分块.设第\(i\)块的左右端点为\([l_i,r_i]\),那么在询问中找出\(A \in [a_{l_i} , a_{r_i})\)的所…
题目1494:Dota 1 秒 内存限制:128 兆 特殊判题:否 提交:559 解决:122 题目描述: 大家都知道在dota游戏中,装备是对于英雄来说十分重要的要素. 英雄们不仅可以购买单个的装备,甚至某些特定的装备组合能够合成更强的装备. 为了简化问题,我们将每个装备对于英雄的功能抽象为一个整数:价值.同时,如上所说,一些特定的装备可以用来合成更强的装备,玩家会因此获得除原装备价值外额外的价值. 给定玩家现有的金钱数,每个装备的价格和其对应的价值,以及装备合成的信息.输出,其能获得的最大价…
前言: 因为要普及了,今年没一等就可以退役去学文化课了,所以暑假把历年noip普及组都刷了一遍,离noip还有50+天,想弄点强化训练什么的. 想了想,就这些天学文化课之余有空就把AtCoder之前那些ARC 的 C D E 什么的刷一下吧(一般是D,可能会有简单一点的E和难一点的C)(可能会很慢,毕竟基本有时间也就周末了) 所以就开了这个坑鞭策一下自己,上个坑是dp的,开了50题,补的巨累...这次吸取教训,只开20题...(也没那么多时间去刷题了) 不会说题意,题意的话可以上网找或者去原站看…
题目 (智商题 or 糟心的贪心) 题意: 有一个数列a1,a2,...,an,每次操作可以将相邻的两个数x,y变为x-y,x+y,求最少的操作数使得gcd(a1,a2,...,an)>1.gcd(a1,...,an)表示最大的非负整数使得所有ai都能被gcd(a1,...,an)整除. 分析: 首先,如果原来gcd就不是1那么答案就是0.如果gcd是1:相邻两数x和y的变化方法为:x,y=>x-y,x+y设新的gcd值为d,那么x-y和x+y能被d整除,因此2x和2y能被d整除,因此d最大是…
#每天进步一点点# 来两道很相似的题目~ (智商啊智商.....) hihoCoder #1236:Scores (简单的分桶法+bitset) 2015 Beijing Online的最后一题.题目链接:http://hihocoder.com/problemset/problem/12361.每门课成绩sort一下,分桶,bitset维护每个桶.2.根号n复杂度处理出每门课高于所给成绩人的状态. (bitset还是不错了,很适合维护状态~)3.最后每个bitset相与一下就OK... get…
题目背景 xht37 喜欢分块,以至于对一道不需要分块的题也要分块做. 题目描述 有一个长度为 nn 的序列,xht37 现在想分块维护它. PinkRabbit 要求他只准将序列分成 PRPR 种长度的块. NaCly_Fish 要求他只准将序列分成 NFNF 种长度的块. 同一个人可能会要求 xht37 多次相同的块长. xht37 想同时满足 PinkRabbit 和 NaCly_Fish 要求,只好使用两个人都允许的长度分块. xht37 想知道,有多少种不同的分块方案,答案对 10 ^…
写在前面 & 前置芝士   好像是好久没有打理 blog 了.感觉上学期是有点颓.嘶,初三了好好冲一次吧.   那么回到这道题目.你会分块就能看懂. 题目大意   先挂个来自洛谷的 link.   大概就说的是,给定一个长度为 \(n\) 的整数序列 \(A\),有 \(m\) 次询问,每次询问查询一个区间 \([l, r]\),试问有多少个数再该区间中出现了偶数次.   规定 \(\forall a_i \leq c (i \in [1, n])\), 且有 \(1 \leq n, m, c…
老老实实写二分. #include<cstdio> #include<algorithm> using namespace std; int n, a[1000001], x; int main() { scanf("%d", &n); for(int i=1; i<=n; ++i) scanf("%d", &a[i]); sort(a + 1, a + n + 1); while(scanf("%d"…
分块 或 树套树. 在每个块中维护一个有序表,查询时各种二分,全都是分块的经典操作,就不详细说了. 块的大小定为sqrt(n*log2(n))比较快. #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namespace std; ],r[],num[],a[],b[],x,y,k,n,m,op,tmp[]; void makeblock() { memc…
这题用了三种算法写: 分块+二分:O(n*sqrt(n*log(n)) 函数式权值分块:O(n*sqrt(n)) 带修莫队+权值分块:O(n5/3) 结果……复杂度越高的实际上跑得越快……最后这个竟然进第一页了…… #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int f,C; inline void R(int &…
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define N 50001 #define SQRT 227 int n,m,xs[N],ys[N],ks[N],op[N],en,ma[100001],en2,a[100001]; int num[N],l[SQRT],r[SQRT],sumv[SQRT],sum=1;//分块 int num2[100001],l2[…
权值分块和权值线段树的思想一致,离散化之后可以代替平衡树的部分功能. 部分操作的时间复杂度: 插入 删除 全局排名 全局K大 前驱 后继 全局最值 按值域删除元素 O(1) O(1) O(sqrt(n)) O(sqrt(n)) O(sqrt(n)) O(sqrt(n)) O(sqrt(n)) O(sqrt(n))(懒标记) 当然,因为要离散化,所以只能离线. 代码很短,很快,比我的Splay短一倍,快一倍,现在在bzoj上rank6. #include<cstdio> #include<…
背景 广东汕头聿怀初中 Train#3 Problem 1 描述 在小A的星际大战游戏中,一艘强力的母舰往往决定了一场战争的胜负.一艘母舰的攻击力是普通的MA(Mobile Armor)无法比较的.对于一艘母舰而言,它是由若干个攻击系统和若干个防御系统组成的.两艘母舰对决时,一艘母舰会选择用不同的攻击系统去攻击对面母舰的防御系统.当这个攻击系统的攻击力大于防御系统的防御力时,那个防御系统会被破坏掉.当一艘母舰的防御系统全部被破坏掉之后,所有的攻击都会攻击到敌方母舰本身上去造成伤害.这样说,一艘母…
首先计算图的联通情况,如果图本身不联通一定不会出现生成树,输出"NO",之后清空,加白边,看最多能加多少条,清空,加黑边,看能加多少条,即可得白边的最大值与最小值,之后判断Fibonacci数是否在这两个之间,如果是输出yes,否则no. 然而,,然而,,我看的题解有问题!!!!!调了俩小时愣是没找出错误来,,然后把题解交了发现过不了,,,,真是够了.,.,., 第二天上午终于A了,,满分程序: #include <cstdio> #include <cstring&…
有些题目可能没做,如计算几何.恶心模拟. 高级打字机 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小写字母x.(type操作) 2.U x:撤销最后的x次修改操作.(Undo操作) (注意Query操作并不算修改操作) 3.Q x:询问当前文章中第x…