NOIP 2014 primeの酱油记+题解

1 篇文章 0 订阅

【序】

哎呀,这次真的是酱油了一把,这么水的题还跪了QAQ,特意去求女神安慰TAT。。

【day-7 ~ day-1】

蒽,这段时间在集训呢!各种跪呀跪Orz,各种挫啊,然后被各种大神的题目虐了惹。(各位大神们怕是从 day-30开始集训的吧)蒟蒻我们学校还有段考,简直是醉了..

【day1】

呵呵,我这种2B蒟蒻,第一题写了40多分钟,各种检查啊。(ydc等大神说t1叫做教你会不会编程)

t2我写了个DFS一遍的算法,还乱入了左孩子右兄弟,怎么就没有想到扫一遍啊TAT。。然后DFS到100层就挂了的酱紫,感觉是什么地方写挂了。

好吧,我其实没有写t2的对拍就匆匆进入了t3的书写,然后t3成功dp失败感觉是什么边界写逗了惹!、

【day2】

哎呀,我各种醉&各种挂继续。

好吧,借鉴于昨天t1写太久,今天t1就水水写了,然后就水水弱了。

t2,这。不是。水。题。么。好吧,SPFA乱搞

t3,简直是愉快的写了高精度,好像是正负加法写挂了惹!

接着滚粗去段考,然后段考滚粗。

【题解】

虽然我是蒟蒻,但是题解保证高质量惹。我们从day1讲起

day1 t1 rps

简直就是水题呢,主要考你会不会石头剪刀布,会不会编程。注意下表(我还是不能像大神一样掠过惹):


day1 t2 link

虽然我考场上写挂了,各种泪啊!

简述一下思路,对于每一个点我们维护三个值

sum,max1,max2分别表示与他们相连的所有点的权值和,相连所有点中权值最大的,相连点中权值次大的。

然后我们枚举所有的边。

对于每条边,我们重新更新一下tot(有序和值),ans(最大值)

设每条边相连的连点为x y

tot+= (sum[x]*w[y]+sum[y]*w[x]-w[x]^2-w[y]^2) (pascal党: inc(tot,sum[x]*w[y]+sum[y]*w[x]-w[x]^2-w[y]^2)) 简而言之就是 x-y->y相连的点 y->x->x相连的点(注意去掉自己)

ans=max(ans,w[x]*max[y],w[y]*max[x]])

/* 如果w[x]与max1[y]相等  max[y]取max2[y] 否则取 max1[y]  max[x]的取值同理,意在于排除自己*自己的情况 */

讲的有一点奇怪,看不懂的可以找找大神的题解,啦啦啦。


day1 t3 bird

一下考后我就把这个游戏删了,伤心啊!TAT!

我们可以脑补成一个背包问题。表示ydc大神的好看多了!


蒽,day1大体就是这样。

day2 t1 wireless

额,继续教你怎么编程。好吧要考虑,矩形可以出界限。哎呀滚粗滚粗。


day2 t2 road

好吧,这道题有高端做法,哎呀我不会类!当当当当,介绍我的2B方法

从汇点出发走一次SPFA,求出所有点是否可以达到(其实连通性各种乱搞就可以了惹!!!BFS DFS都可以完美解决问题的啦啦啦)

把所有点扫一遍,看看是不是能出现在路径上

然后从源点跑一遍SPFA(为啥这个是跑一遍啊,边不是少了么 o_o !)

呵呵呵!就这样搞定了!感觉SPFA会被卡,哎呀我是蒟蒻我不拍


day2 t3 equation

简直是高冷的题目有很多版本啊

我考场上和ydc大神的思路是一样的:

一个 O(nm) 的做法是枚举并在模意义下验根,但是单纯这么做几乎不可能过

容易证明对于原方程的一个根 x ,必有 x|a0

a0 [1,m] 内的约数个数不会特别多,我们如果能做到只对他的约数验根,那么验根的时间是能够承受的,于是瓶颈在于找 [1,m] 内的所有约数

利用筛法的思想,我们找所有形如 pk , p 为质数的不能被 a0 整除的数,将他们的倍数筛去。

a0 的指数和当然不会太大,我们真正的瓶颈在于——对于每个质数,要试验他是否是 a0 的约数

π(n)=n/ln(n),L=lga0 ,这样的时间复杂度是 O(Lπ(n)) 的,显然过不去

压位大法好,第一反应是压5位

就是这样的。然后我只压惹五位(⊙o⊙)!果断跪跪跪!

还是觉得策爷的想法高端又可行

暴力做法是对 [1,m] 的所有整数在模意义下验证,复杂度 O(nm)

取一个质数 P ,对 [0,P1] 的整数进行验证(模 P 意义下),复杂度是 O(Pn) 。(注意挑选的 P 需要保证 f(x) 在模 P 意义下不会变成零多项式)

然后可以知道模 P 意义下有不超过 n 个解。(拉格朗日定理)

那么对应地,在 [1,m] 中至多只有 nm/P 个解,对这些解进行验证即可。复杂度 O(n2m/P)

P nm 附近。总复杂度 O(nnm)

大神们肯定不屑于知道拉格朗日定理,我还是普及一下吧!设p是一个素数,f(x)是整系数多项式,模p的次数为n,则同余方程f(x)≡0(modp)至多有n个互不相同(即模p互不同余)的解。--拉格朗日定理(数论方面的)

好了,我的蒟蒻酱油记和题解就到这里了,欢迎大神评论。\(^o^)/~感觉NOIp考成这样只能说:“oi再见!!!”


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值