模拟
文章平均质量分 83
a1214034447
这个作者很懒,什么都没留下…
展开
-
hdu 5818 - 模拟
题目链接:点击打开链接解题思路:一个另类的方法就是当出现合并时,我们不需要去知道A合并B还是B合并A,当合并时只需要用原先来塞A和B一直合并的栈的set(因为等下删除比较容易,所以用set),因为有一点我们发现,如果被合并后的集合,如果下次在合并他会在最底下,除了被删除的一部分,所以需要用另一个模拟栈的数组去保存合并的集合,当合并后把A和B的集合都置为空,把合并的集合加到特殊保存的栈的就行了。#i...原创 2018-03-09 19:58:33 · 254 阅读 · 0 评论 -
CF #470 div2-C 模拟
解题思路:设ST[i]为Ti的前i项和,我们将Vi+ST[i-1]插入一个set中,然后在set中小于ST[i]的元素全部删除,这说明这些堆的雪已经被用完了,那么他们剩下的肯定不足Ti,算他们剩余的就是Vi+STi-1 - STi + Ti就是用完之前还剩下的量,那么set里面还有的个数就是可以给满Ti雪的堆了#include<bits/stdc++.h>using namespac...原创 2018-03-16 21:35:09 · 142 阅读 · 0 评论 -
CF #470 div2 D - 字典树或模拟
解题思路:这题字典树比较好处理,我们肯定是从P中找出按高位优先相同位的来找,也就是说,从高位开始匹配尽量找到与Ai最像的,如果在第j位没有的话只能在ans上加上了,然后删除的话也很好删除,只要将节点v值减一就行了。另外一个set模拟有点难理解,也难说就不说了,下面也有代码字典树:#include<bits/stdc++.h>using namespace std;...原创 2018-03-16 21:42:38 · 156 阅读 · 0 评论 -
CF #470 div2 思维+贪心模拟
解题思路:果然贪心是这个世界上最恶心的思想,BUG太多了,让人崩溃。一开始以为会很难,比较就100多人过,没想到啥算法都没有,都是我也错了好几发,主要是没考虑完整。根据那个转换格式,容易发现B和C其实是一样,那么就把三个字符的问题变成了2个。那么我们需要用到两个数组,一个是记前i个字符中B的个数(C已经都看成B了),一个是从i位置往前有多少个连续的A字符。根据推算,可知,一个B可变出无限个前导A+...原创 2018-03-16 21:59:34 · 308 阅读 · 0 评论 -
hiho 1830(2018 北京网络赛 C) - 模拟
题目链接:点击这里 解题思路:play1 : 按相应等级出一张,不能的话只能说谎且出字典序最小的一张.挑战1: 陈述者出的rank为X的牌数为p,play1手里rank为X的牌为q,q+p>4,挑战陈述者.挑战2:下一个陈述者是play1且play1下次陈述必须说谎,挑战陈述者 paly2:出完手上相应等级的牌,不能的话只能说谎且出字典序最小的一张挑战1:下一...原创 2018-09-23 13:30:32 · 207 阅读 · 0 评论 -
Gym - 101190J[暴力模拟求重心]
题目链接:https://vjudge.net/problem/Gym-101190J解题思路:这题直接暴力模拟求每层的重心(质量和位置有关),看前i层的物体重心是否落在第i+1层的实体上,没有的话就一定倒了。#include<iostream>#include<cstdio>#include<cstring>#include<a...原创 2019-05-01 21:04:42 · 333 阅读 · 0 评论