2018.09.15模拟总结(T1,T3)】的更多相关文章

过了一周,终于迎来了第二次模拟(这不是期待的语气),看第一周毒瘤程度,我就觉得接下来的模拟只能更毒瘤. 花了10多分钟读完了三道题,觉得暴力还是挺好写的,然后在每一道题都思索那么几分钟后,觉得还是写暴力靠谱一些……不过还好,一个半点就把暴力都写完了. 然后我就接着想正解…… T1 game 这道题刚开始就觉得是二维线段树,然后瞟了一眼数据范围:1e6 * 1e6,于是就犹豫了.就一直在想能不能行和列各只开一个线段树,最终反正是没想出来,于是开始优化我的暴力.推了半天发现了一个惊天秘密:就是修改的…
时间:2018.09.15地点:北京国华投资大厦…
[2018.06.26NOIP模拟]T1纪念碑square 题目描述 2034年,纪念中学决定修建校庆100周年纪念碑,作为杰出校友的你被找了过来,帮校方确定纪念碑的选址. 纪念中学的土地可以看作是一个长为 n,宽为 m 的矩形.它由 n*m 个 1*1 的正方形组成,其中左下角的正方形的坐标为(1,1),右上角的正方形的坐标为(n,m).其中有一些土地已经被用来修建建筑物,每一幢建筑物都可以看做是一个左下角为(x1,y1),右上角为(x2,y2)的矩形. 纪念碑可以看作是一个正方形.校方希望你…
T1,T3我就不说啦,反正也不会.主要想讲的是T2. T2用了一个神奇的算法:折半搜索. 因为这个坑爹的数据范围告诉我们暴搜或是状压会TLE,而一半刚好能卡过去. 折半搜索其实跟暴搜没什么区别,就是折了半(废话).拿这道题为例,暴搜就是在长度为2n的序列中找出所有长度为n的序列不妨设为s1, 那么剩下的就是s2,然后判断s1和翻转后的s2是否相等,复杂度O(C(n, 2n)). 折半搜索就是在前一半的序列中找出所有长度为n / 2的序列,也就是s1的前一半s1',剩下的作为s2的后一半(因为要反…
描述 Ssoier在紧张的学习中,杜老师每天给他们传授精妙的知识. 杜老师为了活跃气氛,设计了一个点名器,这个点名器包含一个长度为M的数组(下标1开始),每个元素是一个oier的名字,每次点名的时候,点名器会等概论随机生成一个1到M的整数,对应的人就要回答问题.当然杜老师有喜欢的人,他会故意让一些名字重复出现以增加某些人被点中的概率. LDX感觉不是很好,他不希望被点中.他找到杜老师,不过杜老师表示他确实喜欢ldx,不过杜老师还是想给ldx一点好处,他被点名器的数组给ldx看,然后让ldx对数组…
跟hdu1599差不多.. 只是需要输出方案. 这个可以递归求解. 代码: #include<iostream> #include<cstdio> #include<cstring> #include<cctype> #define inf 50005 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); w…
传送门 floyd求最小环的板子题目. 就是枚举两个相邻的点求最小环就行了. 代码: #include<bits/stdc++.h> #define inf 0x3f3f3f3f3f3f #define ll long long using namespace std; inline ll read(){ ll ans=0; char ch=getchar(); while(!isdigit(ch))ch=getchar(); while(isdigit(ch))ans=(ans<<…
传送门 一道比较综合的好题. 由于是求严格的次小生成树. 我们需要维护一条路径上的最小值和次小值. 其中最小值和次小值不能相同. 由于不喜欢倍增我选择了用树链剖分维护. 代码: #include<bits/stdc++.h> #define N 100005 #define M 300005 #define lc (p<<1) #define rc (p<<1|1) #define mid (T[p].l+T[p].r>>1) #define ll long…
描述 约翰叔叔希望能够廉价连接他的供水系统,但是他不希望他的竞争对手知道他选择的路线.一般这样的问题需要选择最便宜的方式,所以他决定避免这种情况而采用第二便宜的方式. 现在有W(3 <= W <= 2000)个供水站,其中最多有P(P <=20,000)< span="">条管道,每一条管道连接了两个水站,并且不存在一条管道连接同一个水站,两个水站之间最多只有一条管道.每条管道有一定的费用.请寻找第二便宜的连接方式,使所有的水站相连. 假设最便宜的方案有且…
传送门 貌似可以最短路时同时判定负环啊. 但我不想这样做. 于是写了一个dfs版的判环,bfs版的求最短路. 代码: #include<iostream> #include<cctype> #include<cstdio> #include<cstring> #include<queue> #define N 1005 #define M 1000005 #define inf 0x3f3f3f3f using namespace std; in…
传送门 显然答案等于各个连通分量的笔画数之和. 因此我们dfs每个连通分量计算对答案的贡献. 对于一个连通分量,如果本来就有欧拉回路那么只需要一笔. 否则需要寄点数/2那么多笔才能画完. 知道这个结论这题就很简单了. 代码: #include<bits/stdc++.h> #define N 100005 #define M 200005 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!i…
传送门 其实求一个图删除一个点之后,联通块最多有多少. 直接tarjan求割点更新答案就行了. 但注意原图不一定连通. 代码: #include<iostream> #include<cstring> #include<cstdio> #include<vector> #define N 10005 using namespace std; int m,n,ans,dfn[N],low[N],tot=0,cut[N]; vector<int>e[…
描述 There are exactly nn towns in Byteotia. Some towns are connected by bidirectional roads. There are no crossroads outside towns, though there may be bridges, tunnels and flyovers. Each pair of towns may be connected by at most one direct road. One…
传送门 一个欧拉路输出方案的板子题. 竟然难在读入233. 代码: #include<iostream> #include<cstdio> #include<cstring> #define N 55 #define M 2005 using namespace std; struct edge{int u,v,id;}e[M]; int n,m,du[N],pred[M],cnt=0,tot=0,x,y,z,st; bool vis[M]; inline bool c…
[2018.06.26NOIP模拟]T3节目parade 题目描述 学校一年一度的学生艺术节开始啦!在这次的艺术节上总共有 N 个节目,并且总共也有 N 个舞台供大家表演.其中第 i 个节目的表演时间为第 i 个单位时间,表演的舞台为 Ai ,注意可能有多个节目使用同一个舞台.作为 Tom 的忠实粉丝之一的 Alice,当然要来逛一下啦,顺便看一下能不能要到 Tom 的签名. Alice 一开始会先在 A1 看完节目1再去闲逛. Alice 可以在舞台之间随便乱走.但是假如 Alice 当前在看…
5818. [NOIP提高A组模拟2018.8.15] 做运动 (File IO): input:running.in output:running.out Time Limits: 2000 ms  Memory Limits: 524288 KB  Detailed Limits   Goto ProblemSet Description 一天,Y 君在测量体重的时候惊讶的发现,由于常年坐在电脑前认真学习,她的体重有了突 飞猛进的增长.幸好 Y 君现在退役了,她有大量的时间来做运动,她决定每…
[2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质,难道Mike 的好朋友是满足正态分布的?Tom 很好奇. 由于 Mike 有着自己最喜欢的数字 a ,并且 a 的范围是:2≤a≤9 .Tom 从这里入手,发现了一些端倪,假设 Mike 发的电话号码是一个十进制数字 S ,Tom 发现 S 会满足以下三个性质中的一个: 1.S 是 a 的倍数.…
2018/8/15 qbxt 测试 期望得分:100:实际得分:50   不知道为什么写挂了,明明是个水题 T^T 思路:模拟 注意:如果用 char 类型存储的话,如果有'z' + 9 会爆char  但是我明明用的 string 啊 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; int n, m; int len…
时间:2018.12.15地点:北京朝阳悠唐皇冠假日酒店…
老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这次分享.另外与会的同学大多都是大二大三的"萌新",考虑到受众水平和技术分享的性质,所以实际上这次分享涉及到的知识点都相对基础,当然为了寓教于乐,本人也十分讨厌着重介绍基础语法时可能引起的枯燥,所以加了少少的私货,并且也针对 1.11 及之前版本中或优雅,或局限的特性做了发散性的讲解. 总而…
时间:2018.09.12地点:北京国际饭店会议中心…
原文:WPF 使用鼠标拖动一个控件的实现[2018.7.15] Q:已经把一个Shape和一个TextBlock组合起来放到了一个Grid中,现在想要实现用鼠标拖动这个Grid到任意位置的功能,如何做? <Grid Height="50" Width="50"> <Ellipse Fill="Yellow" Stroke="Blue" Height="50" Width="50&…
原文:WPF 在绘图控件(Shape)中添加文字 [2018.7.15] Q:使用Shape的子类Ellipse画一个圆,如何在圆中添加文字? A:Shape类中不包含Text属性.可使用Shape类和TextBlock类组合,放到Grid中来实现.      纯xaml的写法: <Grid Height="50" Width="50"> <Ellipse Fill="Yellow" Stroke="Blue"…
[2020.11.28提高组模拟]T1染色(color) 题目 题目描述 给定 \(n\),你现在需要给整数 \(1\) 到 \(n\) 进行染色,使得对于所有的 \(1\leq i<j\leq n\),若 \(i - j\) 为质数,则 \(i\) 和 \(j\) 不同色. 求出颜色尽可能少的染色方案.如果有多种方案,输出任意一种即可. 输入格式 第一行一个整数 \(n\). 输出格式 第一行一个整数 \(k\),表示颜色数. 第二行 \(n\) 个整数 \(col_i\)(\(1 \leq…
最近挺久没写比赛类的blog了 链接:http://211.140.156.254:2333/contest/59 这次的题目主要考验的是爆搜+打表的能力 其实如果你上来就把所有题目都看过一次就可以知道:正确的顺序是3->1->2 先切T3的意思是你可以很快的爆搜之后开始打表,但T2考思维,T1考语文,这就导致大量的出现前两题A了但最后一题打表时间不够了的情况. 虽然我T2才打表弄了20,但凭借的最后一题的42分表(还忘记把大样例的的两个抄进去了),还是涨了rating. 祝贺CJJ涨了1百多…
T1: [集训队作业2018]小Z的礼物 我们发现我们要求的是覆盖所有集合里的元素的期望时间. 设\(t_{i,j}\)表示第一次覆盖第i行第j列的格子的时间,我们要求的是\(max\{ALL\}\) 考虑\(min-max容斥\).\(max\{S\}=\sum_{S \subset T}(-1) ^{|T|-1}min\{T\}\) 此时我们要求的变为了\(min\{T\}\),即\(T\)中至少有一个元素被选择的期望. 我们知道当\(T\)中元素被选择的概率为\(P\)时,其期望为\(\f…
题面 wzj的题解 T1 随便搜 #include<bits/stdc++.h> #define ll long long using namespace std; inline int read(){ ; ; char c=getchar(); ; )+(x<<)+(c^'); if(f) return x; -x; } int T,len; ]; ll L; bool dfs2(int wz,ll cur,ll sum,bool Last){ : ; && df…
二分 首先,可以发现,最后的答案显然满足可二分性,因此我们可以二分答案. 然后,我们只要贪心,就可以验证了. 贪心 不难发现,肯定会优先选择能提供更多插座的排插,且在确定充电器个数的情况下,肯定选择能经过排插数量最大的那些充电器. 所以,我们只要模拟插排插的过程,记录当前深度\(d\).插座数\(t\)即可. 设选择的能经过排插数量恰好为\(d\)的充电器有\(x\)个,则若\(t<x\),显然不合法. 否则,我们将\(x\)个位置插上充电器,其余位置尽可能地插排插,就可以了. 代码 #incl…
总结 T1 这题我一看,哇!好简单啊! 直接建立每一个字母的映射就可以了. 我很快就打完了程序,跳到下一题. 等到比赛快结束时,我才发现了一个可怕的数据: 1 abcdefghijklmnopqrstuvwxyz zyxwvutsrqponmlkjihgfedcba 这样每次无论把哪一种字母进行操作,代码中都会出现两个相同的字母--这意味着在以后的操作中,它们都会一起被修改. 我不知怎么办,只好估分0分,重交一次. 然而,出题人忽略了这种情况. 某DL特地判了这种情况,只拿了10分. 最后,我只…
LINK:5.15 T1 对于60分的暴力 都很水 就不一一赘述了. 由于是询问所有点的这种信息 确实不太会. 想了一下 如果只是询问子树内的话 dsu on tree还是可以做的. 可以自己思考一下. 如果强行dsu的时候做 会发现点对和点对之间难以解决. 考虑正解 点分治: 当x为分治中心还是需要统计点对和点对之间的贡献. 和刚才几乎一样.不过这个时候可以发现 需要对每个点都求一个答案. 对于深度为w的点 那么 贡献为\(\sum_{j=w}^{n}c_{j-w}a_j\) 其中\(c_x\…