SAM-Toy Cars题解】的更多相关文章

一道很妙的贪心题 题面 我们考虑当我们插入时会面临的两种情况 当地上的玩具,不满 \(k\) 个时,那我们直接放就可以了. 当满了 \(k\) 个的时候,我们就要从地上拿出一个来给当前的腾位置. 这就需要我们替换一个,根据我们贪心的思想,当一种玩具出现的比较晚 的时候,那么我们就可以把它拿走,因为他后面用的次数比较少,这样妈妈 的移动次数就会少很多 . 那么,我们就有了处理这道题的思路,先求出每个点,他下一次要玩的时间 为 \(net_i\) 用堆来维护地板上玩具 \(net_i\) 的最大值,…
 A. Toy Cars Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/545/problem/A Description Little Susie, thanks to her older brother, likes to play with cars. Today she decided to set up a tournament between them. The process…
Toy Cars time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Little Susie, thanks to her older brother, likes to play with cars. Today she decided to set up a tournament between them. The proce…
Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Little Susie, thanks to her older brother, likes to play with cars. Today she decided to set up a tournament between them. The process of a tournament is descri…
题目传送门 /* 题意:5种情况对应对应第i或j辆车翻了没 水题:其实就看对角线的上半边就可以了,vis判断,可惜WA了一次 3: if both cars turned over during the collision. 是指i,j两辆车,而不是全部 */ #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <iostream>…
题目传送门 太弱了,只能写写A题的题解 题意 给你一个 $n·n$ 的矩阵,翻车分三种情况: 如果 $a_i,_j=1$ ,记录第 $i$ 辆车 如果 $a_i,_j=2$ ,记录第 $j$ 辆车 如果 $a_i,_j=3$ ,记录第 $i$ 和 $j$ 辆车 问最后总共记录多少辆车(不重复)?它们分别是第几辆? 思路 这题可以用set (好喜欢用set),因为set可以去重,用在这里可以有效减少时间复杂度. 一边输入一边将 $i$ 或 $j$ 存入set并标记bool数组,然后输出 n-set…
1229: [USACO2008 Nov]toy 玩具 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 338  Solved: 136[Submit][Status][Discuss] Description 玩具 [Chen Hu, 2006] Bessie的生日快到了, 她希望用D (1 <= D <= 100,000; 70%的测试数据都满足 1 <= D <= 500)天来庆祝. 奶牛们的注意力不会太集中, 因此Bessie…
题目描述 Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们. 为了让他的房间有足够的空间,在任何时刻地板上都不会有超过k 个玩具. Jasio 在地板上玩玩具. Jasio'的妈妈则在房间里陪他的儿子. 当Jasio 想玩地板上的其他玩具时,他会自己去拿,如果他想玩的玩具在架子上,他的妈妈则会帮他去拿,当她拿玩具的时候,顺便也会将一个地板上的玩具放上架子使得地板上有足够的空间. 他的妈妈很清楚自己的孩子所以他能够预料到J…
题目大意: 有n种物品,地上有k个格子,p次操作. 每次操作要求将某一个指定的物品移动到任意一个格子中,同时你可以选择是否将格子中的某一个物品收起来,并消耗1的代价. 如果下达指令时,这个物品刚好在格子上,那么就不会消耗代价. 问至少消耗多少代价? 思路: 贪心. 每次移动如果时,如果地板上已经放慢了物品,那么就应该把第二次出现最晚的物品收起来. 预处理每一次指令对应的物品第二次出现的时刻. 用一个堆来维护当前地板上的物品即可. #include<cstdio> #include<cct…
To CF 这道题依题意可得最终答案为序列长度-最长子序列长度. 数据范围至 \(100000\) 用 \(O(n^2)\) 的复杂度肯定会炸. 用 \(O(nlogn)\) 的复杂度却在第 \(21\) 个测试点莫名出错. 于是换一种思路可得 \(dp[s]=dp[s-1]+1\) 即类似于求最长子序列长度. 最后用序列长度-最长子序列长度即为答案. #include<cstdio> #include<iostream> using namespace std; int n; i…