Contest 1135 at HZOI

Problem A: 优美的棋
发现一个可以证明的规律就是了……
忘记给<<运算的左边变量转化为long long类型了,结果挂了20分……
以后一定记得<<运算不会因为右边变量是long long类型而把运算改为long long类型啊……
而且也要记得测试大数据来查错啊……
Problem B: 优美的树
50分的dp很好想……然后就是优化了……
我们知道,我们的dp状态数组可以看做是一个离散的函数,而二维的状态数组便可以看做是n个函数,所以如果这个函数有一些特性的话,那这个角度又是一种优化dp的方法.
在这道题里,我们的函数是下凸的,那么其累加的话,便会得到新的下凸函数,我们只要能让其在合法时间内累加,并且,处理好随后的后缀min操作就好了,我们考虑一种高效的维护方法——维护拐点与初值.我们考虑到每一个节点只会造成一个拐点,所以拐点总数是O(n)级别的,而且每个拐点只会让函数斜率加1,所以我们只要用可并堆维护我们的拐点,每次累加,合并两个堆,而后缀min操作就可以直接pop堆顶.
PS:出题人管这种方法叫"一类用函数去压缩状态的dp题".
Problem C: 优美的串
比较好的后缀自动机dp吧……考试的时候没仔细分析就一顿码,结果码完才发现自己是错的,幸好码的东西可以作为部分分,要不然就完犊子了……以后还是要"Think twice,code once."
在这道题目中,打破了以往在设计dp状态时潜移默化形成的意识——让我们的状态记录更多的信息.这道题里,设计状态的时候,着重强调了信息的实用性,以及对转移的便利,同时还利用后缀自动机的最简状态自动机特性来减少状态数,并且利用对于不合法状态的分析来剪掉不合法状态(在这里需要提到的是,dfs寻找合法状态比迭代寻找合法状态要剪掉更多的不合法状态).

Contest 1133 at HZOI

Problem A: 遮天蔽日
数据水到爆……出题人的题解也是各种考虑不全……
大概就是需要求个均匀质量多边形的重心,然后再一波操作……这波操作一定程度上需要思维的严谨性.
关于求重心的方法:
多边形的重心
求任意多边形的重心
Problem B: 三元组
无论你是用manacher还是回文自动机,这题都挺水.
通过zzh了解了一发回文自动机的新科技——CodeForces #932G.Palindrome Partition
Problem C: 最有价值
比较水的最小割,我发现我们建图的时候只要建图符合最小割原则就没有问题……

Contest 1132 at HZOI

Problem A: 区间第K小
数据分治60分……
感觉已经不会做现在的数据结构题了……
思路是差分+整体二分,就是从一个离线的部分分的方法引出在线的100分做法,这种从部分分启发方法是第一次见到诶……
不是很会整体二分,这是第一次知道整体二分是什么意思……不过这种思想与方法也是很好的诶.
数据结构也需要加强了.
写可持久化数据结构的时候,一次区间修改所造成的空间花费比一次单点修改所造成的空间话费要大得多.
通过观察程序运行过程来进行优化与剪枝也是不错的一种思路.
Problem B: 求和
看到这道题会想到反演,然后就有了60分.
考虑容斥,得到式子以后利用一些数论函数的性质的到我们需要杜教筛,利用一般杜教筛的思路进行有意识的构造就可以了.
发现目前式子无法继续优化或推导的时候,可以退一步海阔天空啊.还有,在实现的时候,有一些小的细节可能会给你的程序带来意想不到的优化,虽然到现在我也不知道那个小细节为什么影响那么大,再有就是能用整型就少用浮点数了,毕竟精度嘛.
Problem C: C
这题真是尼玛吊.
作为一只苣蒻,只能想到10分做法……
首先,利用期望的线性性来分解期望,从而达到减小问题困难程度的目的.在这里利用了期望的本质——它反映随机变量平均取值的大小.
然后,烧脑一波来化简状态,同时得到转移方程.
最后,利用一种高科技来解这个方程——对于像这样的方程,我们可以利用左边的已知推导出所有状态关于初始未知状态的表达式,再利用右边的已知列出小规模的线性方程组来解得初始未知状态的答案,从而得到所有状态的答案.
烧脑题……

Contest 1131 at HZOI

仍然是数学专项测试……
Problem A: 猜拳游戏
考试的时候以为是水题,最后发现自己是错的.
notes:
  I.利用改换定义来得到式子,这可以在“山重水复疑无路”的时候达到“柳暗花明又一村”的效果.
  II.分数规划有妙用,在这道题里利用他,可以把概率转化为期望,感觉好流弊啊~~~
  III.使用高斯消元的时候,通过观察并利用矩阵特点来优化消元是一种常见的优化方法.
  IV.if的常数比max函数小多了啊……
  V.通常情况下期望比概率要容易处理,所以把概率问题转为处理期望也就算的上是一种有效的优化了.
Problem B: inequ
TMD数据范围和题面都不全!!!不过也是我没有梦想……
数据范围和题面如果是全的话,60分还是很好拿的啊……
正解不会……看不懂题解……
分段打表大法吼~~~
Problem C: 生成树
以前做过的题,忘记了……
所以说多项式+Matrix-Tree来进行有关生成树的计数是一种套路,而且尤其是在对边有一些限制的时候,然后利用高斯消元来解系数就是这个套路的所有了……
并不会拉格朗日,只会高斯消元……

Contest 1130 at HZOI

又是一次数学专项测试……
Problem A: B
看一眼就是傻逼杜教筛,只不过只能拿到80分,不过分析一下,如果预处理前1e6的组合数就可以过掉了……这个预处理其实动动脑子就可以想到,还是太菜……对于预处理的优化还有待研究啊.正解的方法好像不太一样,还没看……
Problem B: B君的回忆
思考一下就会发现需要向上推模数,打了个表发现有循环节,而且和p同阶,所以考虑如何找循环节,我想到了BSGS,因为感觉BSGS可以解决这个问题(所以说BSGS只不过是一种分块方法,不一定是去解那种方程的啊,像这种找循环节的题目也是蛮适合BSGS的嘛).但是这玩意只能拿到60分,不过如果你强力wqs一波,是可以拿到80~100分的啊.正解是大力结论一波,我的BSGS做法当然是个部分分,在这个部分分的基础上加上两个结论,基本就可以过了,再加上一个强力小结论,就可以飞快了,如果把map改成unordered_map,那就更快了哈.题解里还给了一个结论,但是不知道有啥用……所以这道题就给了我一群"知其然而不知其所以然"的结论……感觉十分不爽,但是又没有什么办法,毕竟人菜啊……不过这个东西似乎可以通过打表得到,但是和普通的打表找规律不一样的是,这个东西的规律本身就是分情况的规律,再加上一个特判……还尼玛有这种操作……
Problem C: sanrd
这题真是挺流弊的……
具体见ryf's NOI前的考试日志中 4.22 T3.
就是画柿子的能力与意识,其中有几个比较好玩的技巧:
  I.把2xy变成(x+y)^2-x^2-y^2.
  II.如果关于i,满足k=i+j的k、j的乘积是我们要求的值,那么这也可以fft.
  III.由简到易、维数扩展、重新构造的思想.

Contest 1129 at HZOI

(考完才发现这是数学专项测试……)
Problem A: 解方程
  打了个50分做法,结果由于压内存而翻车了……压成1维的杨辉三角,一定要注意数组里没有空的地方啊……但是我如果打个对拍也就出来了……以后考试还是尽量打对拍吧,虽然有时候自信也不是错.
  正解是容斥,首先你动一下脑子就会发现n2部分很智障,所以就可以把n1往这个方向容斥了,当然求组合数需要exLucas(我才知道我以前就会的那个方法是exLucas……那个阶乘看情况处理).
  调试的时候,一定要注意隐式数组越界啊!!!
  我考试的时候似乎连脑子都没用动……
Problem B: 宇宙序列
  会了fwt就果断50分了,但是由于不会fwt,所以考试推了2.5h+才把这东西搞定……菜死算了……
  然后你会发现你可以利用fwt的线性性来优化他,然而这并不会多一些分数……但是这会启发你一件事——由于我们是对应位相乘,所以每一位都独立的,所以我们可以单独算每一位的,于是我们的计算对象就从数组变为了单个数字,这个时候,你会发现,我们可以倍增他,这在一定程度上利用了模意义以及模数很小,如果不是这样的话似乎不行?
  思想:优化算法(优化部分分也会有一定的启发的吗?)、fwt的线性性、倍增、利用题目性质——模数小.
Problem C: exp
  一道比较牛逼的期望概率dp.
  主要思想——期望概率(废话)、环问题转为序列问题、倒序考虑问题(考虑最后一步)、区间dp的区间分割(分割为独立的两个区间来转移)、特判(尼玛我的做法特判AC,不特判0分).
  主要是处理好dp的边界,我还是有一些边界比较迷啊.

Contest 1128 at HZOI

考试的时候不是很专注,就直接GG了,还是太菜了……
LOJ#6031.「雅礼集训 2017 Day1」字符串
思想:数据分治、根号分类处理、观察数据性质.
LOJ#6033.「雅礼集训 2017 Day2」棋盘游戏
一眼就是裸的二分图博弈,但是由于我的博弈论和匈牙利都太菜,所以我猜了半天结论才猜到结论,还打错了……
考试的时候还想写个暴力拍一下,结果由于不专注打错了个变量,而且有由于后来太慌了,也没有调出来……
菜死了……
LOJ#6032.「雅礼集训 2017 Day2」水箱
考试没怎么想这道题,但是这题真的不难啊……
我一开始想到的是分治,但是不太会实现,看了题解,发现可以打重构树,于是最后就码出来了一个树形dp.
思想:重构树.

Contest Record的更多相关文章

  1. Notes of fwt

    昨天考试由于不会fwt而爆炸,所以今天搞了一下fwt……话说这玩意的普及程度已经很高了.fwt,快速沃尔什变换,可以用于位运算卷积的优化,是一种线性变换,所以就会有许多好的性质(eg:可以直接模,可以 ...

  2. 坑爹CF April Fools Day Contest题解

    H - A + B Strikes Back A + B is often used as an example of the easiest problem possible to show som ...

  3. AtCoder Grand Contest 008

    AtCoder Grand Contest 008 A - Simple Calculator 翻译 有一个计算器,上面有一个显示按钮和两个其他的按钮.初始时,计算器上显示的数字是\(x\),现在想把 ...

  4. Programming Contest Ranking(题解)

    Programming Contest Ranking . 题目描述 Heilongjiang Programming Contest will end successfully! And your ...

  5. Ural State University Internal Contest October'2000 Junior Session

    POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7 ...

  6. Nordic Collegiate Programming Contest 2015​ E. Entertainment Box

    Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...

  7. LeetCode Weekly Contest 28

    1. 551. Student Attendance Record I 2. 552. Student Attendance Record II hihocode原题,https://hihocode ...

  8. salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type)

    本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github ...

  9. Track 造成Goldengate abended的那条record

    Email收到了这样的报错: 2016-12-07 02:52:22  WARNING OGG-01004  Aborted grouped transaction on 'MSP.USER_ACTI ...

随机推荐

  1. 高可用Kubernetes集群-4. kubectl客户端工具

    六.部署kubectl客户端工具 1. 下载 [root@kubenode1 ~]# cd /usr/local/src/ [root@kubenode1 src]# wget https://sto ...

  2. C#匿名参数(转载too)

    匿名方法是在初始化委托时内联声明的方法. 例如下面这两个例子: 不使用匿名方法的委托: using System; using System.Collections.Generic; using Sy ...

  3. Python3 解压序列

    一 普遍情况: x,y,z = 1,2,3 print("x:",x) # x:1 print("y:",y) # y:2 print("z:&quo ...

  4. Bracket Sequences Concatenation Problem括号序列拼接问题(栈+map+思维)

    A bracket(括号) sequence is a string containing only characters "(" and ")".A regu ...

  5. Python:装饰器的简单理解

    1.装饰器的本质是函数,主要用来装饰其他函数,也就是为其他函数添加附加功能 2.装饰器的原则: (1) 装饰器不能修改被装饰的函数的源代码 (2) 装饰器不能修改被装饰的函数的调用方式 3.实现装饰器 ...

  6. 【每日scrum】NO.9

    (1)这是我们冲刺的最后一天,晚上我们的团队进行了收尾工作:第一阶段的任务基本完成,软件主要实现了校园景点照片以及对应的介绍,查询最短路径,查询涉及相关景点的查询,查询全部路径,基本界面的设计,导航功 ...

  7. 第三章 ServerSpcket用法详解

    构造ServerSocket ServerSocket的构造方法如下: ServerSocket() //Creates an unbound server socket. ServerSocket( ...

  8. OSG学习:使用OSG中预定义的几何体

    常用的内嵌几何体包括: osg::Box //正方体 osg::Capsule //太空舱 osg::Cone //椎体 osg::Cylinder //柱体 osg::HeightField //高 ...

  9. 0302借软件工程触IT

         没有不想学好的学生,也没有选择计算机软件专业后不想过能进军IT的行业的.就对于自己情况来说,大学选择计算机商业软件专业学习也有一年多时间了,未接触专业知识前IT是一个高大上的向往,在初学C语 ...

  10. JDK1.8 之Lambda

    Lambda 理解的了很久才有一点小感觉. 语法 lambda表达式的特点,它的语法如下面. parameter -> expression body 下面是一个lambda表达式的重要特征. ...