【bzoj4896】补退选】的更多相关文章

Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也 可以退课.对于X老师来说,在补退选阶段可能发生以下两种事件: 1:一个姓名为S的学生选了他的课(姓名S将出现在X的已选课学生名单中) 2:一个姓名为S的学生退了他的课(姓名S将从X的已选课学生名单中移除) 同时,X老师对于有哪些学生选了他的课非常关心,所…
[BZOJ4896][Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也可以退课.对于X老师来说,在补退选阶段可能发生以下两种事件: 1:一个姓名为S的学生选了他的课(姓名S将出现在X的已选课学生名单中) 2:一个姓名为S的学生退了他的课(姓名S将从X的已选课…
4896: [Thu Summer Camp2016]补退选 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 653  Solved: 228[Submit][Status][Discuss] Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也 可以退课.对…
题目描述 X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也可以退课.对于X老师来说,在补退选阶段可能发生以下两种事件: 1:一个姓名为S的学生选了他的课(姓名S将出现在X的已选课学生名单中) 2:一个姓名为S的学生退了他的课(姓名S将从X的已选课学生名单中移除) 同时,X老师对于有哪些学生选了他的课非常关心,所以他会不定时的查询…
4896: [Thu Summer Camp2016]补退选 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 315  Solved: 97[Submit][Status][Discuss] Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选:其中"补退选"阶段最忙碌.在补退选阶段,学生即可以选课,也 可以退课.对于…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:BZOJ4896 正解:$Trie+vector$ 解题报告: $THUSC2016$ $T2$ 考虑每次加入删除对出现次数的影响只会加减一,那么我可以先用$Trie$来维护整个问题中出现的字符串,然后对于每个节点我都记录一下以当前串为前缀的字符…
字符串扔进trie,vector记录每个前缀出现次数的最大值的更新记录即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> #include<vector> using namespace std; #define ll long long #define…
题目链接 BZOJ4896 题解 \(thu\)怎么那么喜欢出\(trie\)树的题... 我们当然可以按题意模拟建\(trie\) 询问的时候,由于存在删除操作,不满足单调性,不能直接二分答案 我们就在每个节点上用\(vector\)储存每个值第一次出现的时间点 每次询问找到那个点二分一下即可 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include…
傻逼题. 每个点维护下vector,然后随便做. #include<bits/stdc++.h> ; using namespace std; typedef long long ll; struct Node{ ],size; vector<int> c; }t[N]; ]; inline int read(){ ,x=;char ch; ;}'); +ch-'); return f*x; } inline void ins(char *s,int id){ ; ;i<le…
题目:https://loj.ac/problem/2291 想了线段树合并的做法.就是用线段树维护 trie 的每个点在各种时间的操作. 然后线段树合并一番,线段树维护前缀最大值,就是维护最大子段和的套路,记录区间和.前缀 max .查询的时候,因为当前区间只记录了自己区间内部的前缀 max 值,所以要加一个 pr 表示该区间前面的区间和. 空间可能爆? RE 就没管.后来发现是 go[ ][ ] 开成 N 而非 M 了.这个做法还是可过的. 注意强制在线的 ans 是带绝对值的.注意 mx…
link $solution:$ $Trie$树很显然吧,那么如何去处理每次询问.对于$Trie$树的每个节点放一个$vector$表示其若有$v$个人的最小时间. #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<vector> #define ll long long using namespace std; inline in…
题解 在trie树上开vector记录一下这个前缀出现次数第一次达到某个值的下标,以及记录一下现在这个前缀有多少个 为什么thusc有那么水的题--是为了防我这种cai ji爆零么= = 代码 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> #include <cmath> #include <cstring> //#define…
ref pkusc 快到了,做点 thusc 的题涨涨 rp-- #include <iostream> #include <cstring> #include <cstdio> #include <vector> using namespace std; typedef long long ll; int n, k, ch[6000005][10], cnt, len, f[6000005], ans; char ss[6000005]; vector&l…
trie树+vector+二分 别忘了abs(ans) #include<cstdio> #include<algorithm> #include<vector> #include<cstring> #include<cmath> #define mp make_pair #define pr pair<int,int> #define sc second using namespace std; int n,cnt,ch[60000…
题目描述不说了. 题解: Trie+vector…… Trie存学生,vector存答案. 极为无脑但无脑到让人怀疑 代码: #include<cmath> #include<vector> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define N 100050 #define M 6000050 ; ]; struct Trie {…
题目大意:略 这竟然是$thusc$的题... 先把询问里加入的串全拎出来,建出$Trie$树,$Trie$里每个节点都开一个$vector$记录操作标号,再记录操作数量$sum$ 然后瞎**搞搞就行了 又水了一篇博客 #include <cmath> #include <queue> #include <vector> #include <cstdio> #include <cstring> #include <algorithm>…
传送门 一道字典树的例题吧 先说下思路前1,2两个条件都易满足,字典树插入修改即可,第三个条件可用动态数组来实现,存下它的size表示当前有几个节点经过(即人数),其下标表示第几次出现,里面存入操作次数(即时刻),然后字典树修改即可. 上代码 #include<bits/stdc++.h> using namespace std; const int N=300000;//开大点200000有一个点没过 struct node{ int ch[30],size; vector<int&g…
点此看题面 大致题意: 三种操作:加入一个字符串,删除一个字符串,求最早什么时候以某个字符串为前缀的字符串个数超过给定值. \(Trie\) 这道题显然是\(Trie\)的暴力裸题. 考虑我们对于\(Trie\)上的每个节点,开一个\(vector\),其中第\(i\)位(注意\(vector\)的下标是从\(0\)开始的)存储以这个节点所代表的字符串为前缀的字符串个数超过\(i\)的最早时间. 至于这怎么维护,只要同时再维护一下对于每个字符串当前以其为前缀的字符串个数,由于这个个数每次最多修改…
(总计:共66题) 4.18~4.25:19题 4.26~5.2:17题 5.3~5.9: 6题 5.10~5.16: 6题 5.17~5.23: 9题 5.24~5.30: 9题 4.18 [BZOJ3786]星系探索(伪ETT) [BZOJ4337][BJOI2015]树的同构(树的最小表示法) [BZOJ3551][ONTAK2010]Peaks(加强版)(Kruskal重构树,主席树) [CTSC2017]游戏(Bayes定理,线段树) 4.19 [CTSC2017]吉夫特(Lucas定…
爬取网页中通知标题的内容展示: this is  1  page!<精算学综合>科目考试参考大纲2016年上半年研究生开题报告评议审核结果公示[答辩]2016下半年研究生论文答辩及学位评定工作安排通知[答辩]2016下半年答辩申请者填报研究生综合管理信息系统的通知[资审]2016年下半年同等学力申请硕士学位资格审查工作办理安排2016上半年同等学力人员师生互选结果公示关于2016年硕博连读研究生选拔结果的公示关于研究生院假期值班安排的通知后八周研究生调停课情况统计2016年度(第一批)研究生学…
浑浑噩噩地就出发了,只记得可以翘课,不知道自己要干什么去. Day 0    5点起床,到潮汕机场坐飞机.第一次坐飞机非常不爽起飞和降落时的加速度……终于还是转转地铁.动车在下午4点左右抵达目的地,西郊宾馆.按事先的安排和Ccz住双人房.北京的红绿灯好奇怪啊,红灯刚过,绿灯就开始闪,闪了很久也没变化……晚上KPM出去浪,Czl来我们房间玩,于是我们在他电脑上玩去<疯狂小人战斗>,考前回归一发童年.(3P 3个键盘真爽) Day 1    6点醒,吃了顿挺不错的早餐,就坐车去THU了,200号人…
补退选 Luogu LOJ BZOJ 比较裸. 建一棵Trie树,记录一下每个节点的\(sum\)表示经过该点的字符串个数,每次暴力插入.删除. 同时每个节点维护一个vector,记录一下这个点的\(sum\)第一次达到(超过)某个值的时间. 容易证明vector的总的元素个数是\(O(\sum|S|)\)的.总的复杂度为\(O(\sum|S|)\). #include<bits/stdc++.h> using namespace std; const int N=100007,M=60*N;…
哈哈好久没冒泡了,最进看见点选验证码有点意思,所以想自己写一个. 先上效果图 如果你被这个效果吸引了就请继续看下去. 贴代码前先说点思路: 1.要有一个汉字库,并按字形分类.(我在数据库里是安部首分类的) 2.获取验证码(也就是取几个文字做验证码) 3.根据取出来的文字去找形近字 4.排列验证码文字和形近字 5.绘制图片 6.显示 6.写个博客分享一下(分享代码改变世界) 一.获取字库 我国文化博大精深,辣么多的字从哪儿来?当然我不可能手动加进去,于是我就在网上随便找了一个能查汉字的网站,去抓别…
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m…
一.需求 用户对不同的应用需要有不同的权限,用户一般和角色关联在一起,新建角色的时候会选择该角色对应的应用,然后对应用分配权限.于是写了一种实现的方式.首先应用是一个二级树,一级表示的是应用分组,二级表示的是应用,这是table的最左边的数据.然后是按钮的数据,这里显示在table的头部. 二.效果图如下 三.具体代码 1.RoleApplicationTable.js import React from 'react'; import RoleCheckbox from 'components…
目前据我所知最好用的 autocomplete 插件就是 jquery-ui 的 autocomplete 以及 devbridge 的 autocomplete 插件. 我最终选择了 devbridge 的 autocomplete 插件,主要是不想引用 jquery-ui 的 css 文件. 官方网址:https://www.devbridge.com/sourcery/components/jquery-autocomplete/ 先看一下autocomplete的参数 serviceUr…
企业是使用Memcached还是选Redis? 在构建一款现代且由数据库驱动的Web应用程序并希望使其拥有更为出色的性能表现时,这个问题总会时不时出现.并给每一位开发人员带来困扰.在考虑对应用程序的性能表现进行提升时,缓存机制往往是解决问题的重要起点,而Memcached与Redis则经常被作为初步方案来加以比较. 这两套声名显赫的缓存引擎拥有着诸多相似之处,但它们同样也具备大量显著差异.作为二者当中更年轻也更加灵活的方案,Redis被大部分技术人员视为首选目标--但请别掉以轻心,不容忽视的重要…
在项目开发中我们经常会遇到需要更改input单选和多选样式的情况,今天就给大家介绍一种简单改变input单选和多选样式的办法. 在这之前先简单介绍一下:before伪类 :before 选择器向选定的元素前插入内容.使用content 属性来指定要插入的内容(content是必须的哦). 相信这并不难以理解,接下来我们先理解思路: (1)首先在html用label为 input 元素定义标记,也就是当你点击label标签时相应的input也会选中或取消 (2)接下来就是写css了,将input隐…
一.说明 本文是利用EasyUI实现下拉框多选功能,在ComboxTree其原有的基础上对样式进行了改进,样式表已上传demo,代码如下 二.代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w…
第一步:链接下列文件,如果没有,到此网页下载 https://github.com/ehynds/jquery-ui-multiselect-widget,此插件基于jquery ,所以jquery的基本文件都需要引用 <link rel="stylesheet" type="text/css" href="~/Scripts/jquerymultiselect/jquery-ui.css" /> <link rel="…