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. katalon系列十二:自动化上传文件、下载文件

    一.下载文件1.下载文件时,需要先设置好Chrome/Firefox下载路径.不弹出下载框等,大家先学习下在selenium下如何设置:https://www.cnblogs.com/fnng/p/7 ...

  2. unittest,requests——接口测试脚本及报告

    用unittest管理两个利用requests模块,做百度搜索的简单接口测试用例,之后自动输出报告 # encoding=utf-8import requests,unittest,HTMLTestR ...

  3. Raft 一致性协议算法 《In search of an Understandable Consensus Algorithm (Extended Version)》

    <In search of an Understandable Consensus Algorithm (Extended Version)>   Raft是一种用于管理日志复制的一致性算 ...

  4. HDU-4055:Number String

    链接:HDU-4055:Number String 题意:给你一个字符串s,s[i] = 'D'表示排列中a[i] > a[i+1],s[i] = 'I'表示排列中a[i] < a[i+1 ...

  5. mybatis 加载配置文件的方法

    一.  使用sqlSessionFactory 的 mapperLocations 进行加载 <!-- SessionFactory --> <bean id="sqlSe ...

  6. 【第二章】MySQL数据库基于Centos7.3-部署

    一.MySQL数据库的官方网址: https://www.mysql.com/ https://www.oracle.com/ http://dev.mysql.com/doc/refman/5.7/ ...

  7. 【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算

    在Python中,与时间处理相关的模块有:time.datetime以及calendar.学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的 ...

  8. linux-ubuntu配置通过22端口远程连接

    当安装好ubuntu后获取到对应主机的ip地址,要想通过类似xshell这样的远程连接工具连接到ubuntu主机,需要在你刚刚安装好的ubuntu主机上安装openssh这个软件,才能通过远程来连接u ...

  9. 软件工程-东北师大站-第五次作业(PSP)

    1.本周PSP 2.本周进度条 3.本周累计进度图 代码累计折线图 博文字数累计折线图 4.本周PSP饼状图

  10. Team Work总结 && OPP课程总结

    团队作业总结 工作总结 本次大作业我在团队内的工作是:根据框架构建实现建筑类的功能,包括防御塔.水晶.泉水等建筑.根据架构框架以及结合各建筑的特点,利用继承和多态很快速的解决了一些基本的问题.然而在实 ...