\(\color{white}{\mathbb{失足而坠千里,翻覆而没百足,名之以:深渊}}\)


这场考试的时间分配非常不科学

开题试图想 \(t1\) 正解,一个半小时后还是只有暴力,特别惊慌失措

然后赶紧看 \(t2\),看题发现是个简单的线段树合并,没有多模样例,半个小时打完结论后发现能过样例,也没对拍就直接放下了

然后最后一个小时硬想 \(t3\),写了一个复杂度比较正确的网络流上去,发现有好多漏洞,然后一直调,最后考试结束的时候甚至暴力都没来得及打


A. Hunter

玄妙的概率题

如果从第几个猎人在第几轮死的概率考虑,发现很难维护,因为当前值的总和未知

一个很妙的方法是利用成比例的性质,可以计算出每一个猎人比第一个先死的概率,即 \(\displaystyle\frac{w_i}{w_1+w_i}\),那么总和+1即为第一个猎人死的期望


B. Defence

线段树合并的裸题,注意答案是 \(min(lmax+rmax,maxx)\)

还要注意每个点的法术可能有多个


C. Connect

数据范围特别小,一看是状压

题意可以理解为选取一条1到n的链,所有已选点集最多和链上的一个点相连

\(f[S][i]\) 表示已选集合为 \(S\),链上最后一个点是 \(i\) 的已选边权和的最大值

那么每次可以新加入一个点,延长链的长度

也可以新增一个集合,作为链旁边的点集

转移即可,最后用总边权减去即可

代码实现
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn=20,maxm=5e4+5;
  4. const int inf=0xcfcfcfcf;
  5. int n,m,cnt,hd[maxn],x,y,w,val[maxn][maxn],tot,limit,f[maxm][maxn],ans,sum[maxm],con[maxm][maxn],sta[maxn],tp;
  6. int read(){
  7. int x=0,f=1;
  8. char ch=getchar();
  9. while(!isdigit(ch)){
  10. if(ch=='-')f=-1;
  11. ch=getchar();
  12. }
  13. while(isdigit(ch)){
  14. x=x*10+ch-48;
  15. ch=getchar();
  16. }
  17. return x*f;
  18. 博客园Logo
  19. 首页
  20. 新闻
  21. 博问
  22. 专区
  23. 闪存
  24. 班级
  25. 写随笔
  26. 我的博客
  27. 短消息
  28. 用户头像
  29. 我的博客
  30. 我的园子
  31. 账号设置
  32. 简洁模式
  33. 退出登录
  34. 返回主页
  35. y_cx
  36. 博客园
  37. 首页
  38. 新随笔
  39. 联系
  40. 管理
  41. 订阅
  42. 订阅
  43. 随笔- 26 文章- 0 评论- 12 阅读- 864
  44. noip模拟32
  45. 山高而青云冷,池深而蛟穴昏,行以慎步,援以轻身,名之以:落石
  46. pic.png
  47. 开题发现 t1
  48. 80分特别好写,于是先写了
  49. 但是这个做法没有任何扩展性,导致一直没有往正解的方向想
  50. t3
  51. 看见有点的坐标,以为是计算几何,于是写完 t1 打了个暴力就看 t2
  52. 但事实证明 t2
  53. 的难度实际上是最大的,这次题目难度的判断又出现了严重的失误
  54. A. Smooth
  55. 观察 B=2 的情况,发现排好序两因子的次数递增是没有规律的
  56. 可以把两个因子都开个队列,每次队里是单调递增的,所以队首是最小值
  57. 每次取出所有队首中的最小值,即使下一个排名的光滑数
  58. 然后运用类似线性筛的东西给每个大于其最小质因子的数加入其乘质数的值
  59. B. Six
  60. 首先,要肯定这道题状态只统计每个质因子出现了几次是不行的,比如第一次插入一个6,那么23都被标记出现一次,当另一个6来时,发现其因子共出现两次而不能加入序列导致判断出错
  61. 所以需要改进状态
  62. 那么对于6来说,不能加入的条件是出现过两个2,或两个3,或1213
  63. 那么不妨记录状态时一对儿一对儿记,这样可以解决上面的尴尬问题
  64. 发现总状态数很多,但是有用状态很少,可以记录在 map 里进行离散
  65. 可以记忆化搜索,但是感觉不好理解,所以采用递推的写法,每次更新一层,把每层有用的状态放进 vector 里更新即可
  66. 代码实现
  67. C. Walker
  68. 为什么又是解方程题……
  69. 把式子展开,发现有 scalesin
  70. ,scalecos,dx,dy 四个未知数,选取两个点即可解出来
  71. 如果 n2
  72. 枚举可以保证正确性
  73. 但是每次随机两个值,多次循环后不对的概率会降到极低
  74. 解出 sin
  75. ,cos 的值后可以使用 acos 这个函数解出弧度值,注意正负性不确定需要用 sin
  76. 进行验证
  77. 又恐琼楼玉宇,高处不胜寒
  78. 标签: 考试
  79. 好文要顶 关注我 收藏该文
  80. y_cx
  81. 关注 - 25
  82. 粉丝 - 19
  83. 0
  84. 0
  85. « 上一篇: noip模拟31
  86. » 下一篇: noip模拟33
  87. posted @ 2021-08-07 21:21 y_cx 阅读(8) 评论(0) MD 编辑 收藏 举报
  88. 刷新评论刷新页面返回顶部
  89. 发表评论
  90. 编辑 预览
  91. 自动补全
  92. 退出
  93. [Ctrl+Enter快捷键提交]
  94. 【推荐】百度智能云2021普惠上云节:新用户首购云服务器低至0.7
  95. 【推荐】阿里云云大使特惠:新用户购ECS服务器12G最低价87元/年
  96. 【推荐】大型组态、工控、仿真、CAD\GIS 50万行VC++源码免费下载!
  97. 编辑推荐:
  98. · [.Net] 进程间通信框架(基于共享内存)——SimpleMMF
  99. · [.NET大牛之路 006] 了解 Roslyn 编译器
  100. · 源码 | @Value 注入失败”引发的一系列骚操作
  101. · Redis挂了,流量把数据库也打挂了,怎么办?
  102. · 五个 .NET 性能小贴士
  103. 大数据与数据科学实战课程-468x60-3
  104. 最新新闻:
  105. · “中国短视频第一股”,为何上市以来一路狂跌?
  106. · PS3 模拟器加入对 FSR 的支持
  107. · WireGuard 宣布 Windows 下的内核模式实现 WireGuardNT
  108. · 爆出惊天大瓜!阿里需要马云归来?
  109. · 国际空间站捕捉到“颠倒闪电” 网友:有《流浪地球》那味儿了
  110. » 更多新闻...
  111. 昵称: y_cx
  112. 园龄: 8个月
  113. 粉丝: 19
  114. 关注: 25
  115. < 20218 >

  116. 1 2 3 4 5 6 7
  117. 8 9 10 11 12 13 14
  118. 15 16 17 18 19 20 21
  119. 22 23 24 25 26 27 28
  120. 29 30 31 1 2 3 4
  121. 5 6 7 8 9 10 11
  122. 搜索
  123. 常用链接
  124. 我的随笔
  125. 我的评论
  126. 我的参与
  127. 最新评论
  128. 我的标签
  129. 我的标签
  130. 考试(17)
  131. 游记(2)
  132. 学习笔记(1)
  133. 杂题(1)
  134. 每周讲题(1)
  135. 随笔档案
  136. 20218月(6)
  137. 20217月(11)
  138. 20216月(2)
  139. 20215月(3)
  140. 20214月(3)
  141. 202011月(1)
  142. 最新评论
  143. 1. Re:noip模拟31
  144. %%%%%
  145. --keen_z
  146. 2. Re:noip模拟30
  147. %%%%%
  148. ---OMA-
  149. 3. Re:NOI2021 游记
  150. %%%
  151. --SDFZOI
  152. 4. Re:noip模拟29
  153. %%%
  154. ---OMA-
  155. 5. Re:NOI2021 游记
  156. %%%
  157. --SpadeA261
  158. 阅读排行榜
  159. 1. NOI2021 游记(369)
  160. 2. noip模拟测试18(45)
  161. 3. noip模拟测试17(39)
  162. 4. noip模拟12(35)
  163. 5. 联赛测试2 3.25(25)
  164. 评论排行榜
  165. 1. NOI2021 游记(4)
  166. 2. noip模拟测试18(3)
  167. 3. noip模拟31(1)
  168. 4. noip模拟30(1)
  169. 5. noip模拟29(1)
  170. 推荐排行榜
  171. 1. noip模拟30(2)
  172. 2. noip模拟29(2)
  173. 3. noip模拟31(1)
  174. 4. 构造(1)
  175. 5. NOI2021 游记(1)
  176. Copyright 2021 y_cx
  177. Powered by .NET 5.0 on Kubernetes
  178. }
  179. struct Edge{
  180. int nxt,from,to,val;
  181. }edge[maxm];
  182. void add(int u,int v,int w){
  183. edge[++cnt].nxt=hd[u];
  184. edge[cnt].to=v;
  185. edge[cnt].from=u;
  186. edge[cnt].val=w;
  187. hd[u]=cnt;
  188. return ;
  189. }
  190. void calc(int x){
  191. tp=0;
  192. while(x)sta[++tp]=(x%2),x>>=1;
  193. for(int i=n+1;i>=1;i--)cout<<sta[i];
  194. return ;
  195. }
  196. int main(){
  197. n=read();
  198. // calc(1);
  199. // cout<<endl;
  200. // calc(6),cout<<endl;
  201. m=read();
  202. for(int i=1;i<=m;i++){
  203. x=read();
  204. y=read();
  205. w=read();
  206. add(x,y,w);
  207. add(y,x,w);
  208. tot+=w;
  209. val[x][y]=val[y][x]=w;
  210. }
  211. limit=(1<<n)-1;
  212. for(int S=1;S<=limit;S++){
  213. for(int i=1;i<=cnt;i++){
  214. int u=edge[i].from;
  215. int v=edge[i].to;
  216. if((S&(1<<(u-1)))&&(S&(1<<(v-1))))sum[S]+=edge[i].val;
  217. if((S&(1<<(u-1)))&&(!(S&(1<<(v-1)))))con[S][v]+=edge[i].val;
  218. }
  219. sum[S]/=2;
  220. }
  221. memset(f,0xcf,sizeof f);
  222. f[1][1]=0;
  223. for(int S=1;S<=limit;S++){
  224. // calc(S);
  225. // cout<<endl;
  226. for(int i=1;i<=n;i++){
  227. if(f[S][i]==inf)continue;
  228. for(int j=hd[i];j;j=edge[j].nxt){
  229. int v=edge[j].to;
  230. if(S&(1<<(v-1)))continue;
  231. // if(con[S^(1<<(i-1))][v])continue;
  232. f[S|(1<<(v-1))][v]=max(f[S|(1<<(v-1))][v],f[S][i]+edge[j].val);
  233. }
  234. int SS=limit^S;
  235. // if(S==1&&i==1)calc(SS),cout<<endl;
  236. for(int T=SS;T;T=(T-1)&SS){
  237. // if(S==1&&i==1)cout<<"ppp "<<T<<" ",calc(T),cout<<endl;
  238. f[S|T][i]=max(f[S|T][i],f[S][i]+sum[T]+con[T][i]);
  239. }
  240. }
  241. }
  242. cout<<sum[limit]-f[limit][n];
  243. return 0;
  244. }

\(\color{white}{\mathbb{无可奈何花落去,似曾相识燕归来。}}\)

noip模拟33的更多相关文章

  1. noip模拟33[进阶啦啦啦]

    noip模拟33 solutions 不知道该咋说,这场考试其实是我这三四场以来最最最最最顺心的一场了 为啥呢?因为我这回思考有很多结果,得到了脑袋的回复 就是你想了半个小时就有了一点点头绪,那感觉就 ...

  2. Noip模拟33垫底反思 2021.8.8

    T1 Hunter 考场上没写$%p$挂了25分.也是很牛皮,以后打完过了样例一定要检查 因为样例太小了......很容易忘记%%%% 正解随便手模就出来了. 1 #include<bits/s ...

  3. 2021.8.8考试总结[NOIP模拟33]

    T1 Hunter 考场上一看期望直接状压拿了$45pts$跑了.结果正解只用$4$行? 把问题转化为一号猎人之前死的猎人数的期望加一. 期望的线性性. 对每个猎人$i$,$w_i+w_1$种情况中有 ...

  4. NOIP模拟 33

    苏轼三连一脸懵逼 然而既惨者就是没素质 T1是正解思路 然而因为直接从暴力修改过来并且忘了把求约数改成求质约数并且由于快速幂打的有缺陷等 没 有 A C ! 如 果 A C rank1就是俺的了! ( ...

  5. [NOIP模拟33]反思+题解

    又考了一次降智题…… 拿到T1秒出正解(可能是因为我高考数学数列学的海星?),分解质因数以后用等比数列求和计算每个因子的贡献.但是当时太过兴奋把最后的$ans \times =$打成了$ans +=$ ...

  6. 8.8考试总结(NOIP模拟33)[Hunter·Defence·Connect]

    无法逃避的是自我,而无法挽回的是过去. 前言 还算可以,不过 T1 少 \(\bmod\) 了一下挂了 25pts,T2 没看清题面挂了 27pts. 下回注意吧.. T1 Hunter 解题思路 感 ...

  7. [考试总结]noip模拟33

    连炸两场... 伤心... 第一个题目首先因为有期望坐镇,然后跳过... 然后第二个题目发现题目挺绕的,然后转化了一句话题意,然后..... \(\huge{\text{转化错了!!!!}}\) 然而 ...

  8. NOIP 模拟 $33\; \rm Connect$

    题解 状压 \(\rm DP\). 从 \(1\) 到 \(n\) 一共只要一条路径,那么就是一条链,只要维护一个点集和当前链的末尾就行. 设 \(\rm dp_{i,j}\) 为 \(i\) 的点集 ...

  9. NOIP 模拟 $33\; \rm Defence$

    题解 \(by\;zj\varphi\) 题意就是维护 \(\rm max\{01mx,01l+01r\}\) 就是最长连续的一段 \(0\),左右 \(0\) 区间的加和. 可以启发式合并,也可以直 ...

随机推荐

  1. HTML5(五)——Canvas API

    什么是 Canvas API? Canvas API(画布)提供了一个通过 javascript 和 html 的 canvas 元素来在网页上实时绘制图形的方式.可用于动画.游戏.图标.图片编辑等多 ...

  2. python3中的希尔排序

    def shell_sort(alist): n = len(alist) # 初始步长 gap = round(n / 2) while gap > 0: # 按步长进行插入排序 for i ...

  3. Virustotal工具产品初研

    一.产品新特点 1.群体智能 2.VT图 3.VT Yara 规则的生成与优化 4.内容搜索优化(大小及提交数量) 二.产品功能 1. --->安全管理员 威胁平台资源丰富 TIP .MISP ...

  4. JavaScript实现,判断一个点是否在多边形内(简直nice,希望能帮到你)

    //定义点的结构体 function point(){ this.x=0; this.y=0; } //计算一个点是否在多边形里,参数:点,多边形数组 function PointInPoly(pt, ...

  5. MapReduce框架原理--Shuffle机制

    Shuffle机制 Mapreduce确保每个reducer的输入都是按键排序的.系统执行排序的过程(Map方法之后,Reduce方法之前的数据处理过程)称之为Shuffle. partition分区 ...

  6. [TensorFlow2.0]-手写神经网络实现鸢尾花分类

    本人人工智能初学者,现在在学习TensorFlow2.0,对一些学习内容做一下笔记.笔记中,有些内容理解可能较为肤浅.有偏差等,各位在阅读时如有发现问题,请评论或者邮箱(右侧边栏有邮箱地址)提醒. 若 ...

  7. EL表达式和JSTL标签

    什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 ...

  8. Java JVM【笔记】

    Java JVM[笔记] Java的平台无关性是如何实现的? Java源码首先被编译成字节码,再由不同的平台的JVM进行解析,Java语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字 ...

  9. 题解 Dove 打扑克

    传送门 考场上觉得复杂度是假的就没怎么优化,然后考完题解帮我证明了它是真的-- 首先合并可以用并查集维护,可以顺便维护出集合的大小 对于操作2,发现如果 \(size_i\) 是确定的,可以用权值线段 ...

  10. [转]用C++实现插件体系结构

    本文讨论一种简单却有效的插件体系结构,它使用C++,动态链接库,基于面向对象编程的思想.首先来看一下使用插件机制能给我们带来哪些方面的好处,从而在适当时候合理的选择使用. 1. 增强代码的透明度与一致 ...