摆方块(贪心)P1087】的更多相关文章

描述 给你一个n*n的方格,每个方格里的数必须连续摆放如 1      2 4      3 ,下图为不连续的,请输出从左上角到右下角的对角线上的最大和 1       2 3       4 输入 输入包含多组测试数据. 每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0) 输出 每行输出占一行,输出最大的对角线之和. 样例输入 1 2 3 样例输出 1 6 19 此题只要写出n为4和5时的情况然后找出规律即可 #include<iostream> using…
[题目]1519 拆方块 [题意]给定n个正整数,\(A_i\)表示第i堆叠了\(A_i\)个石子.每轮操作将至少有一面裸露的石子消除,问几轮所有石子均被消除.\(n \leq 10^5\). [算法]贪心+递推 观察每轮操作的变化: \[A_i=min \{ A_i-1,A_{i-1},A_{i+1} \} \] 继续推导,因为每一轮要么-1要么取左右,那么也就是一个数传递到另一个位置要加上它们之间距离的代价(一轮一格,每轮少一个 -1 ),也就是每个数字都可以更新为: \[A_x=\min_…
方块切割 题目链接:https://cometoj.com/contest/39/problem/C?problem_id=1583 数据范围:略. 题解: 首先,如果我们知道了多少道在行上,多少刀在列上,应该怎么办? 不难发现行和列是独立的,只需要分别保证各自均分了网格即可. 那么怎么切呢?只需要顺次枚举,能切就切即可. 至于怎么知道行和列各自切多少刀? 枚举呗 代码: #include <bits/stdc++.h> #define N 1010 using namespace std;…
瓦西亚和皮台亚摆放了m个方块.方块被编号为0到m-1(每个号码出现恰好一次).现在建立一个座标系OX表示地面,OY的方向是竖直向上的.每一方块的左下角有一个座标而且是整点座标. 摆放好的方块一定要是稳定的.稳定的含意是每一个不在地面上的方块在他的下面至少有一个方块与他相接触.可以是共边,也可以是共点的.也就是说如果方块座标为(x,y),要么y=0,或者存在一个方块的座标为(x-1,y-1)或者 (x,y-1) 或者 (x+1,y-1). 现在瓦西亚和皮台亚要轮流把这些方块一个个拆下来.按照拆下来…
A. Vanya and Cubes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vanya got n cubes. He decided to build a pyramid from them. Vanya wants to build the pyramid as follows: the top level of…
枚举 用题目中给定的检验条件判定哪些是无用的,哪些是有用 的.能使命题成立的即为其解 . 例一 一棵苹果树上有n个苹果,每个苹果长在高度为Ai的地方.小明的身高为x 他想知道他最多能摘到多少苹果 数据范围: 1 ≤ n, Ai, x ≤ 100 题解 问题相当于询问有多少i满足Ai <= x,考虑用for循环枚举每一个苹果是否能被摘到即可. 例二 筛素数 判断一个数X是否是素数 1 ≤ X ≤ 1e9 考虑定义,若X为合数,则必然有: ∃1 < i < X, i|X 我们考虑直接枚举每个…
Description 经过三十多个小时的长途跋涉,小Z和小D终于到了NOI现场——南山南中学.一进校园,小D就被花所吸引了(不要问我为什么),遍和一旁的种花园丁交(J)流(L)了起来. 他发现花的摆放竟有如此奥秘:圆形广场共有 N 个种花的位置,顺时针编号1到N.并且每个位置都有一个美观度ai ,如果在这里种花就可以得到这ai 的美观度.但由于地处南山土壤肥力欠佳,两株花不能种在相邻的位置(1号和N号也算相邻位置).校方一共给了 M 株花,经过园丁的精妙摆放,才能如此吸引小D.所以现在小D也想…
题目大意:有n条长度为1的线段,n个区间,第i条线段在第i个区间中,问线段之间的最少间隙有几个. 题目分析:先对区间排序,先按右端点排,再按左端点排.有重叠的区间(仅有交点重叠也视为重叠)之间一定可以摆不出空隙来.贪心策略:每碰到一个新的区间(与前面区间没有任何重叠),则把线段放到该区间最后一个长度为1的位置,如果不是新区间则可以直接忽略. 代码如下: # include<iostream> # include<cstdio> # include<cstring> #…
题目链接: http://poj.org/problem?id=2392 题意: 给你k类方块,每类方块ci个,每类方块的高度为hi,现在要报所有的方块叠在一起,每类方块的任何一个部分都不能出现在ai以上的高度,问这些方块能叠的最高高度. 题解: 首先按ai升序排序,尽量让高度限制低的先排掉,如果不这样做一些转移会失效掉: 比如:h1=3,a1=3;h2=4,a2=7 如果先搭1再搭2则合法,但反过来则变成无效的转移了. 处理好顺序之后跑一遍背包就可以了,因为最大高度为40000,比较小,所以用…
Packets Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 59725   Accepted: 20273 Description A factory produces products packed in square packets of the same height h and of the sizes 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. These products are alway…