第五周 8.8 --- 8.14

新的一周了诶..

8.8

做cf

看了一天博弈于是B想得好复杂..一直算 sg算不对..

c 是不懂要怎么处理 前 t 秒里面 没有被 2 操作 操作掉的数

cf 366 div2 c C - Thor

给每个节点 一个队列,队列里面存放的就是 对应它添加进来的时间,

在 3 操作 的时候,可以维护 一个位置 ,假如上次是操作到t1 那么这次的操作 就只需要 t1 到 t2就可以了

没想到把每一个时间当成一个东西丢进队列里面..

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 #include <time.h>
 5 #include <math.h>
 6 #include <vector>
 7 #include <map>
 8 #include <set>
 9 #include <stack>
10 #include <queue>
11 #include <string>
12 #include <iostream>
13 #include <algorithm>
14 using namespace std;
15
16 typedef long long LL;
17 typedef pair<int,int> pii;
18 typedef pair<double,double> pdd;
19 const double eps = 1e-8;
20 const int INF = (1 << 30) - 1;
21 const int maxn = 300010;
22 int n,m,que[maxn];
23 queue<int> q[maxn];
24
25 void solve(){
26     int op,x,t = 0,ans = 0,pos = 0;
27     memset(que,-1,sizeof(que));
28     for(int i = 1;i <= m;i++){
29         scanf("%d %d",&op,&x);
30         if(op == 1){
31             que[++t] = x;
32             q[x].push(t);
33             ans++;
34         }
35         else if(op == 2){
36             while(!q[x].empty()){
37                 int u = q[x].front();q[x].pop();
38                 que[u] = -1;
39                 ans--;
40             }
41         }
42         else{
43             int top = min(t,x);
44             for(int i = pos+1;i <= top;i++){
45                 if(que[i] == -1) continue;
46                 int v = que[i];
47                 q[v].pop();
48                 ans--;
49             }
50             pos = max(pos,top);
51         }
52         printf("%d\n",ans);
53     }
54 }
55
56 int main(){
57     scanf("%d %d",&n,&m);
58     solve();
59     return 0;
60 }

时间: 2024-10-21 11:29:45

第五周 8.8 --- 8.14的相关文章

寒假第五周 2.8 --- 2.14

寒假过了一半了诶 什么都没有干的感觉. 真的是新的一年了>_< 过去的2015,如果说学到了什么的话,大概是充分意识到 ----- 我是 sb 另外还有身体很重要,不要等到难受的时候才想起要是平时有多锻炼锻炼就好了 新的2016 好好学习,天天向上 就是这样 新的一年更加有趣 gooooooooooooooooooooooooooooooooo>_< 2.8

马哥linux作业第五周&#39;

1.显示当前系统上root.fedora或user1用户的默认shell: egrep "^(root|fedora|user1)\>" /etc/passwd |cut -d: -f1,7 root|fedora|user1表示三者符合其一的选择条件 ()使其归组 ^表示以后面归组的条件开头 \>表示以空字符截断此前的条件字符,即后跟其它字符的单词将不匹配 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello():

软件项目管理第五周作业

1.psp Job Type Date Start End Total 四周总结 随笔 2016.4.4 23:00 23:23 23 站立会议 会议 2016.4.4 13:30 13:45 15 数据库 编码测试 2016.4.4 13:50 15:20 90 站立会议 会议 2016.4.5 13:00 13:15 15 摇一摇1 编码测试 2016.4.5 13:35 14:20 45 站立会议 会议 2016.4.6 13:05 13:15 10 数据库函数添加 编码测试 2016.4

信息安全设计基础第五周学习总结

信息安全系统设计基础第五周学习总结 [学习时间:10小时] [学习内容:第三章:程序的机器表示] 一.教材内容 1.X86 寻址方式的变化: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全: 2 8086的分段模式: 3 IA32的带保护模式的平坦模式 2.机器编程的两种抽象: 1)指令集体系结构(Instruction set architecture,ISA)——定义指令格式以及每条指令执行之后对状态的影响.大多数ISA将程序行为描述成按顺序执行的: 2)虚拟地址 3.一些处理

HeyWeGo第五周项目总结

HeyWeGo第五周项目总结 项目内容 使用java程序开发一款扫雷游戏 游戏项目规划: 确定游戏中方块格子的个数 确定游戏中地雷的个数(初始10个),完成布雷 计算每个方块周围的雷数,在方块周围本身没有地雷的情况下,统计周围地雷的个数 若周围没有地雷则翻开周围的空白方格,直到周围有附近地雷的格子 设计一个检测是否挖完所有的雷的方法 设定左键点击为翻开 设定右键点开为标记 项目进展 整合并调试修改各队员分段编写的代码,游戏已实现,已经修补上周不能右键标记部分. 完整代码 import java.

软件工程_东师站_第五周作业

1.psp Date Type Job Start Int(min) End Total(min) 20160404 助教 团队博客 14:00 16:20 25 14:25 18:00 100 站立会议 "耐撕"站立会议 15:10 15:40 30 编码 重构 18:00 5 18:30 25 编码 选择抢答者(JSP) 18:30 10 19:30 50 20160405 编码 选择抢答者(生成抢答者圈圈) 18:10 15 19:00 35 看书 计算机网络与因特网 22:00

Python入门学习第五周:字符串·作业

python学习第五周字符串相关学习内容总结与作业 第五周主要是对字符串相关操作的学习包括 字符串的定义字符的序列 基本字符运算 求长度len(str)函数 拼接+str = str1 + 'pinjie' 重复*name * 3 就是把name的字符串内容输出三次 成员运算in判断一个字符串是否是另一个字符串的子串 for语句 枚举字符串中的每个字符 字符串索引每个字符串都有一个索引值索引从0前向或-1后向开始索引运算符[] 切片操作选择字符串的子序列语法 [start : finish] s

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

五周第二次课(1月9日)7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装扩展1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm 命令::================================================================================

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命