【二分】Shell Pyramid】的更多相关文章

HDU2446——Shell Pyramid 详解 Shell Pyramid 题目描述(Google 翻译的) 在17世纪,由于雷鸣般的喧嚣,浓烟和炽热的火焰,海上的战斗与现代战争一样.但那时,大炮非常简单.它就像一个铁缸,其后端密封,前端打开.它的后端有一个小孔,用来安装保险丝.战舰上的大炮被放在有四个轮子的小型车辆上,炮弹是铁球,里面装着火药. 当时,据说有一位聪明的船长,他也是一位数学家的业余爱好者.他喜欢把他遇到的所有东西都连接到数学上.在每次战斗之前,他经常命令士兵将炮弹放在甲板上并…
[来源]:2008年哈尔滨区域赛 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2446 [题意] 题目是真的长呀,其实就问一个问题. 按照图里面的方法,请问第i个在第几堆,第几行,第几列. 例如,第19个在哪里呢? 在第4堆,第4行,第3列. [题解] 利用二分快速找到第几堆,同样道理,找到第几行也一样. 这个题目关键在于公式推导. 前i堆有多少个 S(n)= Σ ( n+1)* n / 2 ) 没有公式插入真的很麻烦呀... #inclu…
意甲冠军:非常多,形成一个金字塔球 文章x层 x*(x+1)/ 2 球 给你个S 金字塔的一层代表第一数字向下S球 它是其中  这层中的第几行 第几列 公式 1 : x*(x+1)*(x+2)/ 6 公式 2 :x*(x+1)/ 2 公式1为公式2 的前n项和 #include <cstdio> #include <cstring> #include <cstdlib> #include <string> #include <iostream>…
Pyramid Split Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=629&pid=1001 Description 小明是城会玩,他有很多底面是正方形的黄金锥体,我们称之为金字塔,它由高度和底面正方形边长可以确定,分别称之为金字塔的高和宽. 为了便于理解,单位统一取米.现在小明有nn个金字塔,已知它们的高和宽,小…
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2446 题意:题面很大,有用的就那么几句,意思就是用自然数来堆它画的那个金字塔,比如第一个金字塔的第一个数为1,第二个金字塔的第一个数为2,第三个金字塔的第一个数为5……. 题解:可以打表,最多有381W个金字塔,然后用二分搜,也可以推个公式出来(n*n*n - n)/6表示第n-1堆的最后一个数,然后用求和公式算第几层第几列 #include<cstdio> #include<cmath&g…
题意: 给你一个排列,有2*n-1个元素,现在进行以下的操作: 每一次将a[i]替换成为a[i-1],a[i],a[i+1]三个数的中位数,并且所有的操作是同时进行的,也就是说这一次用于计算的a[],是这一次计算之前的那个a[].每一次不操作开头和结尾的两个位置.这样子每一次都会减少2个元素,问你最后剩下的元素是什么. 数据范围: 1<=N<=10^5 思路: 看见这道题正解是二分的时候,简直震惊!(考试的时候一直想的是计算每一项在最终序列中的系数来做). 我们可以二分出一个值x,将所有小于等…
无论再来多少次也不可能想到的写法. 二分一个最小的顶端值\(k\),大于设为\(1\)小于等于设为\(0\),可以证猜出来(你跟我说这可以?)如果存在两个连在一起的0/1那么它们会一直往上跑,还可以很容易就想到(容易?????)如果不存在相邻的情况(也就是交叉的那种)那么顶端答案一定是原先左右两边的值之一.. 不管了弃疗了.放代码. #include <bits/stdc++.h> using namespace std; const int N = 200010; int n, a[N &l…
Description ​ 现在有一个NN层的方块金字塔,从最顶层到最底层分别标号为1...N1...N. ​ 第ii层恰好有2i−12i−1个方块,且每一层的中心都是对齐的. 这是一个N=4N=4的方块金字塔 ​ 现在,我们首先在最底层填入一个2N−12N−1的排列.之后,我们从i−1i−1层开始,逐步向上填入每一层的数. ​ 对于第ii(1≤i<N1≤i<N)层中位置为xx的方块,它的值为左下方.正下方和右下方的三个数的中位数.形式化地描述,就是i+1i+1层中x−1x−1.xx和x+1x…
Atcoder 题面传送门 & 洛谷题面传送门 u1s1 Atcoder 不少思维题是真的想不出来,尽管在 Atcoder 上难度并不高 二分答案(这我倒是想到了),检验最上面一层的数是否 \(\ge x\). 我们将最底下一层的数中 \(\ge x\) 的 \(a_i\) 设为 \(1\),\(<x\) 的设为 \(0\),那么原题可以转化为每次操作对于相邻三个数,如果 \(1\) 的个数 \(\ge 2\),就在该位上填一个 \(1\),否则在该位上填一个 \(0\),求最终顶上的数是…
Pyramid Split Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 104    Accepted Submission(s): 50 Problem Description Xiao Ming is a citizen who's good at playing,he has lot's of gold cones which…