CF 680D 堆塔】的更多相关文章

D. Bear and Tower of Cubes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Limak is a little polar bear. He plays by building towers from blocks. Every block is a cube with positive intege…
C. Block Towers time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Students in a class are making towers of blocks. Each student makes a (non-zero) tower by stacking pieces lengthwise on top…
题目转自:https://crazyac.wordpress.com/dp%E4%B8%93%E8%BE%91/ 1.hdu 1864 最大报销额 唔,用网上的算法连自己的数据都没过,hdu的数据居然就过了..垃圾数据.. 比如这个:100.00 3 1 A:1000.00 1 A:200.50 1 A:100.00 输出应该是100.00,然而网上的算法输出是200.50..hdu的discuss区也是一片骂声..看到有人说测试数据都是两位小数的(但题目没说),那就每个数据都乘100然后用01…
首先这道题目先要理解题目的意思. 用一些方块堆塔,给出的每种方块个数是无限的,只有满足长宽都小于下面一个方块的方块才能摆上去. 首先这道题需要一个转化. 每个方块有3个不同的面,每个面长宽交换,一共每个方块最多有6种情况. X Y Z 1 2 3 2 1 3 3 1 2 1 3 2 2 3 1 3 2 1 如果长宽高有相同的部分还可以减少一些情况 然后对面积,长,宽,从小到大排序. 这步做完dp的准备才算完成. 下面分析dp部分. 如果不用dp,用贪心先试试,先把最大的面积放在下面,然后循环面积…
Day-inf \(HNOI,CTSC,APIO\)都爆炸了之后 好不容易找回自信心,怀着一定报不上的心情报了清华 居然报上了怕不是报了的都通过了 毕竟\(wc\)的时候被清华虐惨了 还是很虚的 Day-1 说好的不考试呢? 又被爆踩了\(qaq\) 下午基本没有做事情 开发SYCOJ 晚上发现洛谷有一道多项式除法 写一发然后滚回去睡觉 Day0 赶高铁赶高铁赶高铁 高铁上当然是切(tui)题(fei)了 COGS多项式模板整合题真的毒瘤 下高铁一看时间,好像快赶不上试机了??? 和雅礼\(py…
题目链接 Hanoi Factory 很容易想到这是一个DAG模型,那么状态转移方程就出来了. 但是排序的时候有个小细节:b相同时看a的值. 因为按照惯例,堆塔的时候肯定是内半径大的在下面. 因为N有1e5,那么DP的时候用线段树优化一下,就可以了. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i(a); i <= (b); ++i) typedef long long LL; co…
- 学习了一波圆方树 学习了一波点分治 学习了一波可删除堆(巧用 ? STL) 传送门: Icefox_zhx 注意看代码看怎么构建圆方树的. tips:tips:tips:圆方树内存记得开两倍 CODE #include <vector> #include <queue> #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> using…
A. Banana time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Piegirl is buying stickers for a project. Stickers come on sheets, and each sheet of stickers contains exactly n stickers. Each st…
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏. http://hightopo.com/demo/hanoi_20151106/index.html 汉诺塔的游戏规则及递归算法分析请参考http://en.wikipedia.org/wiki/Tower_of_Hanoi. 知道了汉诺塔的规则和算法,现在就开始创建元素.用HT for Web(http://www.hightopo.com)现有的3D模板创建底盘和3根柱子不是问题,问题是要创建若…
在这里我们将构造一个基于HT for Web的HTML5+JavaScript来实现汉诺塔游戏. 汉诺塔的游戏规则及递归算法分析请参考http://en.wikipedia.org/wiki/Tower_of_Hanoi. 知道了汉诺塔的规则和算法,现在就开始创建元素.用HT for Web(http://www.hightopo.com)现有的3D模板创建底盘和3根柱子不是问题,问题是要创建若干个中空的圆盘.一开始的想法是:创建一个圆柱体,将圆柱体的上下两端隐藏,设置柱面的宽度来实现圆盘的效果…
1109: [POI2007]堆积木Klo Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 948  Solved: 341[Submit][Status][Discuss] Description Mary在她的生日礼物中有一些积木.那些积木都是相同大小的立方体.每个积木上面都有一个数.Mary用他的所有积木垒了一个高塔.妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置.一个上面写有数i的积木的正确位置是这个塔从下往上数第i个位置…
因为太弱,蒟蒻我从来没有上过div1(这就是今年的最后愿望啊啊啊啊啊)已达成................打cf几乎每次都是fst...........所以我的cf成绩图出现了惊人了正弦函数图像............. 所以现在刷div1的abc(估计只能a和b?)..............学习各位神犇直接简略题解吧............... upd:14.12.31日成功紫名233-- [494A]裸构造...每个#取1最后一个取完即可... [494B]裸DP...以b的下标设状态…
汉诺塔问题[又称河内塔]是印度的一个古老的传说. 据传开天辟地之神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面.就是这看似简单的问题,却困扰了人们千年以上. 后来,这个传说就演变为汉诺塔游戏,玩法如下: 1.有三根杆子A,B,C.A杆上有若干碟子   2.每次移动一块碟子,小的只能叠在大的上面  …
.NET中 类型,对象,线程栈,托管堆在运行时的关系 The Relationship at Run Time between Types,Objects,A Thread's Stack,and The Managed Heap for .NET by 唐小崇 http://www.cnblogs.com/tangchong .NET中的类型,无论是值类型或引用类型都是继承自Object的类.这点跟Java类似,但与C/C++有很大不同.既然值类型与引用类型都是类,那它们的没有什么不同的地方.…
用栈模拟汉诺塔问题 描述 在经典的汉诺塔问题中,有 3 个塔和 N 个可用来堆砌成塔的不同大小的盘子.要求盘子必须按照从小到大的顺序从上往下堆 (如:任意一个盘子,其必须堆在比它大的盘子上面).同时,你必须满足以下限制条件: 每次只能移动一个盘子. 每个盘子从堆的顶部被移动后,只能置放于下一个堆中. 每个盘子只能放在比它大的盘子上面. 请写一段程序,实现将第一个堆的盘子移动到最后一个堆中. 样例 输入 3 输出 towers[0]: [] towers[1]: [] towers[2]: [2,…
因为cf上一堆水题,每个单独开一篇博客感觉不太好,就直接放一起好了. CF1096D Easy Problem 给定字符串,每个位置删除要代价.求最小代价使之不含子序列"hard". 设f[i][f]表示前i个删到只匹配f位子序列的最小代价.转移看代码吧.O(n) #include <bits/stdc++.h> typedef long long LL; ; int a[N]; LL f[N][]; char str[N]; int main() { int n; sca…
这道题是昨天linkfqy dalao上课讲的一道题 当时他讲的时候就想到了一种玄学的搞法,然后不敢相信自己切掉了 没想到后来CHJ dalao也想到了这种算法,然后发现是对的 后来10min就切掉了 看来以后要活跃一点了 这里主要讲两种算法(想WQS二分这种高深的算法就不讲了) 首先讲题意:一个人它只能在某个时间点去跟看k个他的客人对话,或是结束他和当前这个客人的对话.但是它不能在两个连续的时间段进行讲话,问它最少需要多少时间来和k个客人对话. 1.堆 我们先按时间排序,处理出每一个时间段的长…
1.      k近邻(k-NearestNeighbor)算法介绍及在推荐系统中的应用 https://zhuanlan.zhihu.com/p/25994179 k近邻(k-NearestNeighbor)算法是一种基本分类和回归方法.分类问题的k近邻法即给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中.(这就类似于现实生活中少数服从多数的思想) 算法注意点:K值选取(过小容易过拟合,过大大大降低预测准确…
测试程序 public class HeapOOM { private static int i = 0; static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); try { while (true) { list.add(new OOMObject()); i++; } } finally { Sys…
这时我第一次打CF 然后一看t1 哇好水 然后秒A了 看B 哇好像也很水 然后A了 看了C 不会... 然后去看D 似乎概率 然后推了一下,退出来了 然后看E 不会... 接着问了半个小时怎么hack 对于自己的代码自信满满 然后B最后炸了... A: 简单模拟 每一个黄水晶.绿水晶.蓝水晶减一减 B: 显然数论 k=1输出n k>1输出2^(int(log2(n))+1)-1 D: 概率+堆 似乎可以从中心推到外面??不会... 代码: 代码就不放了...…
为了调整电灯亮度,贝西要用干草包堆出一座塔,然后爬到牛棚顶去把灯泡换掉.干草包会从传送带上运来,共会出现N包干草,第i包干草的宽度是W i ,高度和长度统一为1.干草塔要从底层开始铺建.贝西会选择最先送来的若干包干草,堆在地上作为第一层,然后再把紧接着送来的几包干草包放在第二层, 再铺建第三层--重复这个过程, 一直到所有的干 草全部用完.每层的干草包必须紧靠在一起,不出现缝隙,而且为了建筑稳定,上层干草的宽度不能超过下层的宽度. 按顺序运来的干草包一定要都用上, 不能将其中几个干草包弃置不用.…
[BZOJ1109][POI2007]堆积木Klo Description Mary在她的生日礼物中有一些积木.那些积木都是相同大小的立方体.每个积木上面都有一个数.Mary用他的所有积木垒了一个高塔.妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置.一个上面写有数i的积木的正确位置是这个塔从下往上数第i个位置.Mary决定从现有的高塔中移走一些,使得有最多的积木在正确的位置.请你告诉Mary她应该移走哪些积木. Input 第一行为一个数n,表示高塔的初始高度.第二行包含n个数…
CF上的3道小题 终于调完了啊.... T1:CF702E Analysis of Pathes in Functional Graph 题意:你获得了一个n个点有向图,每个点只有一条出边.第i个点的出边指向fi,边权为wi.分别求从每个点出发走k步经过的边权和以及最小的边权值. 分析:倍增嘛...f[i][j]表示j走$2^i$步到达哪个点,然后用这个求出h[i][j]表示j走$2^i$步边权最小值,g[i][j]表示j走$2^i$步边权和. 然后把K二进制拆分一下即可. 代码: #inclu…
interlinkage: http://codeforces.com/contest/1119/problem/F description: 有一颗$n$个节点的树,每条边有一个边权 对于一个$x$,删去一些边使得每个点的度数都不超过$x$,最小化删去边的边权并输出 需要一次输出$x=0->n-1$的值 $1<=n<=250000$ solution: part1 先考虑单个$x$的做法.任选一个根,设$f_{u,0/1}$表示以节点$u$为根的子树内,节点$u$与它的父亲不断/断的最…
CF EDU 1101D GCD Counting 题意 有一颗树,每个节点有一个值,问树上最长链的长度,要求链上的每个节点的GCD值大于1. 思路 由于每个数的质因子很少,题目的数据200000<2*3*5*7*11*13*17=510510.所以每个节点的质因子个数不多.那么树形DP的时候直接枚举每种因子即可. //#pragma GCC optimize(3) //#pragma comment(linker, "/STACK:102400000,102400000") /…
\(0x01~~Preface\) \(emmm\)这次CF本身打的很顺畅,但是居然unrated了--咕咕咕咕 这是头一次CF有比赛我全部题目都做了--可喜可贺可喜可贺233 简单总结一下前面四道题\(\color{red}{Link}\): A题:sb题,\(O(n^2)\)枚举的红题(或许都不到),但是我\(check\)的时候太粗心WA了一次身败名裂XD B题:sb题,一个模拟,需要一个可以处理优先级的数据结构(其实就是堆但是我一开始想的是线段树) C题:sb题,一个贪心(其实是数学上可…
USACO 2009 Open 干草塔 Tower of Hay Description 为了调整电灯亮度,贝西要用干草包堆出一座塔,然后爬到牛棚顶去把灯泡换掉.干草 包会从传送带上运来,共会出现N包干草,第i包干草的宽度是Wi,高度和长度统一为1.干 草塔要从底层开始铺建.贝西会选择最先送来的若干包干草,堆在地上作为第一层,然后再 把紧接着送来的几包干草包放在第二层,再铺建第三层--重复这个过程,一直到所有的干 草全部用完.每层的干草包必须紧靠在一起,不出现缝隙,而且为了建筑稳定,上层干草的…
题意 给你一棵 \(n\) 个点的树,每个节点有两个权值 \(a_i,b_i\). 从一个点 \(u\) 可以跳到以其为根的子树内的任意一点 \(v\)(不能跳到 \(u\) 自己),代价是 \(a_u\times b_v\). 求每个点跳到任意一个叶子的最小代价. \(n\le 10^5, -10^5\le a_i,b_i\le 10^5\) 题解 暴力 考虑暴力 \(dp\),设 \(dp_i\) 表示从叶子跳到 \(i\) 号点的最小代价. 则有转移 \(dp_u = \min\{a_u\…
迫真小游戏 已经提交 已经通过 时间限制:2000ms 内存限制:256MB 73.98% 提交人数:196 通过人数:145 题目描述 H君喜欢在阳台晒太阳,闲暇之余他会玩一些塔防小游戏. H君玩的小游戏可以抽象成一棵 nn 个节点的有根树,树以 11 为根,每个点的深度定义为其到根的简单路径上的点数(根的深度为 11). H君有 nn 个干员,H君会按照某种顺序把她们部署到树的每一个节点上,使得每个节点上恰好有一个干员.由于游戏的机制,他们对每个节点 ii 都给出了个限制参数 a_ia i…
10.25 去打 CF,然后被 CF 打了. CF EDU 75 A. Broken Keyboard 精神恍惚,WA 了一发. B. Binary Palindromes 比赛中的憨憨做法,考虑一个串的 case,只有"长度为偶数,01都出现奇数次",才会变不出回文串,我们称这样的串为 Bad 的,其它串是 Good 的.两个 Bad 串,之间交换一个 01,可都变成 Good 的.如果 Bad 串有奇数个,那么必存在一个长度为奇数的串才可能合法. C. Minimize The I…