博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9-3NOIP模拟赛总结
阅读量:6238 次
发布时间:2019-06-22

本文共 854 字,大约阅读时间需要 2 分钟。

哎,今天爆炸了,下午改完题才知道自己犯了什么错误,第二题少了一句话挂了70pt,真的不应该,以后每天要想好后再打.

T1

今天的T1是考了一个快速幂+费马小定理,式子变换一下就变成了aab1 求这个式子的值,观察数据范围显然是要loga+logb的,thkkk大佬眼杀的水题,蒟蒻想了好久都没想出来.我们发现把式子右上角的ab1变换为k×(p1)+c带入原式原式就变为ak×(p1)+c ,再变一下就是ak×(p1)×ac根据费马小定理:a(p1)1(modp)上面那个式子左边是1,我们不需要算,我们只需要算出ac,对于ac的话,直接用a(b1)mod(p1)就好了,最后答案就是qpow(a,qpow(a,b-1,mod-1),mod).

T2

第二题是一道水题,要你求连续的一段序列使它和为奇数,并且要最小,不难想到用前缀和,分为奇数前缀和,和偶数前缀和,然后用两个set维护每次找前驱就好了,mmp少了一句话调了一上午,set要记得lower_bound的时候要注意是不是begin()的位置,以后一定注意!

T3

这道题算是今天最难的一道题了,正好戳中了我的弱点:树型dp,最近要多练练树p了.

给定一棵树,求将其分成若干段,每段有且仅有一个被标记结点的方案数。
显然是个树p,我们设g[x]表示.以x为子树的时候,他和他的子节点只有一个被标记的方案数,f[x]跟其定义相反,我们不难发现转移方程是这样子的
对于当前节点是被标记的点:
f[x]=0,g[x]=cSONf[c]+g[c]
对于当前节点是未被标记的点:
f[x]=cSONf[c]+g[c],g[x]=cSON(g[c]cSON,cc(f[c]+g[c]))
dfs一遍就好了.

经验与不足

set记得注意边界,以后晚上要休息好,不然上午脑袋里一片浆糊,加油练习树p,加油.

转载于:https://www.cnblogs.com/brodrinkwater/p/7527972.html

你可能感兴趣的文章
Linux: devfs, devtmpfs and udev
查看>>
nginx 日志切割
查看>>
objective-c 数据类型和限定词对应关系
查看>>
Golang实现简单tcp服务器04 -- 服务器的粘包处理
查看>>
centos7 mysql8安装
查看>>
任务状态机
查看>>
cocos2dx 实现软渲染引擎 soft rendering engine
查看>>
移动H5前端性能优化指南
查看>>
报表制作工具中自定义函数概述
查看>>
Sqoop2从Mysql导入Hdfs (hadoop-2.7.1,Sqoop 1.99.6)
查看>>
浮点数指令
查看>>
无法删除文件名称过长的文件
查看>>
手机端页面流畅滚动
查看>>
CentOS下 CPU 负载观察和性能监测
查看>>
Magento产品页面包屑导航(Breadcrumb)修正
查看>>
struts2 多文件上传
查看>>
在样式中控制列表长度
查看>>
项目经理之项目经理应该做什么(转)
查看>>
Git 分支 - 分支的衍合
查看>>
ubuntu在vmware下的安装与配置
查看>>