noip模拟33
\(\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\) 的已选边权和的最大值
那么每次可以新加入一个点,延长链的长度
也可以新增一个集合,作为链旁边的点集
转移即可,最后用总边权减去即可
代码实现
#include<bits/stdc++.h>
using namespace std;
const int maxn=20,maxm=5e4+5;
const int inf=0xcfcfcfcf;
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;
int read(){
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;
ch=getchar();
}
while(isdigit(ch)){
x=x*10+ch-48;
ch=getchar();
}
return x*f;
博客园Logo
首页
新闻
博问
专区
闪存
班级
写随笔
我的博客
短消息
用户头像
我的博客
我的园子
账号设置
简洁模式
退出登录
返回主页
y_cx
博客园
首页
新随笔
联系
管理
订阅
订阅
随笔- 26 文章- 0 评论- 12 阅读- 864
noip模拟32
山高而青云冷,池深而蛟穴昏,行以慎步,援以轻身,名之以:落石
pic.png
开题发现 t1
80分特别好写,于是先写了
但是这个做法没有任何扩展性,导致一直没有往正解的方向想
t3
看见有点的坐标,以为是计算几何,于是写完 t1 打了个暴力就看 t2 了
但事实证明 t2
的难度实际上是最大的,这次题目难度的判断又出现了严重的失误
A. Smooth
观察 B=2 的情况,发现排好序两因子的次数递增是没有规律的
可以把两个因子都开个队列,每次队里是单调递增的,所以队首是最小值
每次取出所有队首中的最小值,即使下一个排名的光滑数
然后运用类似线性筛的东西给每个大于其最小质因子的数加入其乘质数的值
B. Six
首先,要肯定这道题状态只统计每个质因子出现了几次是不行的,比如第一次插入一个6,那么2和3都被标记出现一次,当另一个6来时,发现其因子共出现两次而不能加入序列导致判断出错
所以需要改进状态
那么对于6来说,不能加入的条件是出现过两个2,或两个3,或1个2或1个3
那么不妨记录状态时一对儿一对儿记,这样可以解决上面的尴尬问题
发现总状态数很多,但是有用状态很少,可以记录在 map 里进行离散
可以记忆化搜索,但是感觉不好理解,所以采用递推的写法,每次更新一层,把每层有用的状态放进 vector 里更新即可
代码实现
C. Walker
为什么又是解方程题……
把式子展开,发现有 scale∗sin
,scale∗cos,dx,dy 四个未知数,选取两个点即可解出来
如果 n2
枚举可以保证正确性
但是每次随机两个值,多次循环后不对的概率会降到极低
解出 sin
,cos 的值后可以使用 acos 这个函数解出弧度值,注意正负性不确定需要用 sin
进行验证
又恐琼楼玉宇,高处不胜寒
标签: 考试
好文要顶 关注我 收藏该文
y_cx
关注 - 25
粉丝 - 19
0
0
« 上一篇: noip模拟31
» 下一篇: noip模拟33
posted @ 2021-08-07 21:21 y_cx 阅读(8) 评论(0) MD 编辑 收藏 举报
刷新评论刷新页面返回顶部
发表评论
编辑 预览
自动补全
退出
[Ctrl+Enter快捷键提交]
【推荐】百度智能云2021普惠上云节:新用户首购云服务器低至0.7折
【推荐】阿里云云大使特惠:新用户购ECS服务器1核2G最低价87元/年
【推荐】大型组态、工控、仿真、CAD\GIS 50万行VC++源码免费下载!
编辑推荐:
· [.Net] 进程间通信框架(基于共享内存)——SimpleMMF
· [.NET大牛之路 006] 了解 Roslyn 编译器
· 源码 | “@Value 注入失败”引发的一系列骚操作
· Redis挂了,流量把数据库也打挂了,怎么办?
· 五个 .NET 性能小贴士
大数据与数据科学实战课程-468x60-3
最新新闻:
· “中国短视频第一股”,为何上市以来一路狂跌?
· PS3 模拟器加入对 FSR 的支持
· WireGuard 宣布 Windows 下的内核模式实现 WireGuardNT
· 爆出惊天大瓜!阿里需要马云归来?
· 国际空间站捕捉到“颠倒闪电” 网友:有《流浪地球》那味儿了
» 更多新闻...
昵称: y_cx
园龄: 8个月
粉丝: 19
关注: 25
< 2021年8月 >
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4
5 6 7 8 9 10 11
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
考试(17)
游记(2)
学习笔记(1)
杂题(1)
每周讲题(1)
随笔档案
2021年8月(6)
2021年7月(11)
2021年6月(2)
2021年5月(3)
2021年4月(3)
2020年11月(1)
最新评论
1. Re:noip模拟31
%%%%%
--keen_z
2. Re:noip模拟30
%%%%%
---OMA-
3. Re:NOI2021 游记
%%%
--SDFZOI
4. Re:noip模拟29
%%%
---OMA-
5. Re:NOI2021 游记
%%%
--SpadeA261
阅读排行榜
1. NOI2021 游记(369)
2. noip模拟测试18(45)
3. noip模拟测试17(39)
4. noip模拟12(35)
5. 联赛测试2 3.25(25)
评论排行榜
1. NOI2021 游记(4)
2. noip模拟测试18(3)
3. noip模拟31(1)
4. noip模拟30(1)
5. noip模拟29(1)
推荐排行榜
1. noip模拟30(2)
2. noip模拟29(2)
3. noip模拟31(1)
4. 构造(1)
5. NOI2021 游记(1)
Copyright 2021 y_cx
Powered by .NET 5.0 on Kubernetes
}
struct Edge{
int nxt,from,to,val;
}edge[maxm];
void add(int u,int v,int w){
edge[++cnt].nxt=hd[u];
edge[cnt].to=v;
edge[cnt].from=u;
edge[cnt].val=w;
hd[u]=cnt;
return ;
}
void calc(int x){
tp=0;
while(x)sta[++tp]=(x%2),x>>=1;
for(int i=n+1;i>=1;i--)cout<<sta[i];
return ;
}
int main(){
n=read();
// calc(1);
// cout<<endl;
// calc(6),cout<<endl;
m=read();
for(int i=1;i<=m;i++){
x=read();
y=read();
w=read();
add(x,y,w);
add(y,x,w);
tot+=w;
val[x][y]=val[y][x]=w;
}
limit=(1<<n)-1;
for(int S=1;S<=limit;S++){
for(int i=1;i<=cnt;i++){
int u=edge[i].from;
int v=edge[i].to;
if((S&(1<<(u-1)))&&(S&(1<<(v-1))))sum[S]+=edge[i].val;
if((S&(1<<(u-1)))&&(!(S&(1<<(v-1)))))con[S][v]+=edge[i].val;
}
sum[S]/=2;
}
memset(f,0xcf,sizeof f);
f[1][1]=0;
for(int S=1;S<=limit;S++){
// calc(S);
// cout<<endl;
for(int i=1;i<=n;i++){
if(f[S][i]==inf)continue;
for(int j=hd[i];j;j=edge[j].nxt){
int v=edge[j].to;
if(S&(1<<(v-1)))continue;
// if(con[S^(1<<(i-1))][v])continue;
f[S|(1<<(v-1))][v]=max(f[S|(1<<(v-1))][v],f[S][i]+edge[j].val);
}
int SS=limit^S;
// if(S==1&&i==1)calc(SS),cout<<endl;
for(int T=SS;T;T=(T-1)&SS){
// if(S==1&&i==1)cout<<"ppp "<<T<<" ",calc(T),cout<<endl;
f[S|T][i]=max(f[S|T][i],f[S][i]+sum[T]+con[T][i]);
}
}
}
cout<<sum[limit]-f[limit][n];
return 0;
}
\(\color{white}{\mathbb{无可奈何花落去,似曾相识燕归来。}}\)
noip模拟33的更多相关文章
- noip模拟33[进阶啦啦啦]
noip模拟33 solutions 不知道该咋说,这场考试其实是我这三四场以来最最最最最顺心的一场了 为啥呢?因为我这回思考有很多结果,得到了脑袋的回复 就是你想了半个小时就有了一点点头绪,那感觉就 ...
- Noip模拟33垫底反思 2021.8.8
T1 Hunter 考场上没写$%p$挂了25分.也是很牛皮,以后打完过了样例一定要检查 因为样例太小了......很容易忘记%%%% 正解随便手模就出来了. 1 #include<bits/s ...
- 2021.8.8考试总结[NOIP模拟33]
T1 Hunter 考场上一看期望直接状压拿了$45pts$跑了.结果正解只用$4$行? 把问题转化为一号猎人之前死的猎人数的期望加一. 期望的线性性. 对每个猎人$i$,$w_i+w_1$种情况中有 ...
- NOIP模拟 33
苏轼三连一脸懵逼 然而既惨者就是没素质 T1是正解思路 然而因为直接从暴力修改过来并且忘了把求约数改成求质约数并且由于快速幂打的有缺陷等 没 有 A C ! 如 果 A C rank1就是俺的了! ( ...
- [NOIP模拟33]反思+题解
又考了一次降智题…… 拿到T1秒出正解(可能是因为我高考数学数列学的海星?),分解质因数以后用等比数列求和计算每个因子的贡献.但是当时太过兴奋把最后的$ans \times =$打成了$ans +=$ ...
- 8.8考试总结(NOIP模拟33)[Hunter·Defence·Connect]
无法逃避的是自我,而无法挽回的是过去. 前言 还算可以,不过 T1 少 \(\bmod\) 了一下挂了 25pts,T2 没看清题面挂了 27pts. 下回注意吧.. T1 Hunter 解题思路 感 ...
- [考试总结]noip模拟33
连炸两场... 伤心... 第一个题目首先因为有期望坐镇,然后跳过... 然后第二个题目发现题目挺绕的,然后转化了一句话题意,然后..... \(\huge{\text{转化错了!!!!}}\) 然而 ...
- NOIP 模拟 $33\; \rm Connect$
题解 状压 \(\rm DP\). 从 \(1\) 到 \(n\) 一共只要一条路径,那么就是一条链,只要维护一个点集和当前链的末尾就行. 设 \(\rm dp_{i,j}\) 为 \(i\) 的点集 ...
- NOIP 模拟 $33\; \rm Defence$
题解 \(by\;zj\varphi\) 题意就是维护 \(\rm max\{01mx,01l+01r\}\) 就是最长连续的一段 \(0\),左右 \(0\) 区间的加和. 可以启发式合并,也可以直 ...
随机推荐
- SSH远程端口转发实战详解
问题 前段时间在外地没有在实验室,随身携带了一个笔记本电脑.但是笔记本性能不够,想用SSH远程连接实验室的电脑.问如何连接?现有以下设备 设备 IP 备注 系统 实验室电脑C1 192.168.0.2 ...
- 3G/4G串口服务器
Z3G/4G串口服务器 ZLAN8303-7是上海卓岚继ZLAN8100之后推出的3G/4G联网解决方案.支持7模的4G串口服务器.其产品支持Modbus功能.自定义注册包心跳包功能. ZLAN830 ...
- 【抬杠.NET】如何进行IL代码的开发
背景 在有些时候,由于C#的限制,或是追求更高的性能,我们可以编写IL代码来达到我们的目的.本文将介绍几种IL代码开发的几种方式,环境为visual studio 2019 + net5.0 sdk. ...
- MySQL执行计划【explain】详解
本文已经收录到github仓库,仓库用于分享Java相关知识总结,包括Java基础.MySQL.Springboot.mybatis.Redis.rabbitMQ等等,欢迎大家提pr和star! gi ...
- Mybatis学习笔记-分页
为何要分页 减少数据处理量 便于前端展示数据 使用Limit分页 语法结构 SELECT * FROM user LIMIT startIndex,pageSize; SELECT * FROM us ...
- 洛谷P3067题解
题面 首先,对于每个数,有三种状态:选入集合A,选入集合B,或者不选入集合.暴力枚举的时间复杂度是 \(O(n\times3^n)\) ,显然跑不过去. 因此考虑 \(\text{Meet in Mi ...
- 乘风破浪,遇见Android Jetpack之Compose声明式UI开发工具包,逐渐大一统的原生UI绘制体系
什么是Android Jetpack https://developer.android.com/jetpack Android Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法.减少 ...
- 天梯赛 L2-008 最长对称子串
题目是PTA的天梯赛练习集中的L2-008 https://pintia.cn/problem-sets/994805046380707840/problems/994805067704549376 ...
- Linux线程同步之读写锁(rwlock)
读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程.当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步, 和 ...
- 【动画消消乐|CSS】086.炫酷水波浪Loading过渡动画
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...