当前位置: 首页 > news >正文

AtCoder Beginner Contest 442题解

E - Laser Takahashi

我真的服了,e题卡我精度。第一次提交wa23个,加了eps,wa17个,改用f128,结果wa7个。不是哥们,明明做法都是一样的凭什么我的精度会挂掉。真的服了。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N(2e5+5);
int n,q;
int cnt[N],id[N],pre[N]; //cnt:每方向怪物数 id:怪物方向编号 pre:前缀和
map<pair<int,int>,vector<int>>mp; //方向->怪物列表
vector<pair<int,int>>dir; //全部方向向量
bool cmp(pair<int,int>a,pair<int,int>b){auto[x1,y1](a);auto[x2,y2](b);bool p(y1>0 or !y1 and x1>0); //a在上半平面或正x轴bool q(y2>0 or !y2 and x2>0); //b在上半平面或正x轴if(p!=q) return p>q; //上半平面排前else return x1*y2>x2*y1; //同半平面逆时针排序(叉积)
}
signed main(){cin>>n>>q;for(int i=1,x,y;i<=n;++i){cin>>x>>y;int g(__gcd(abs(x),abs(y))); //约分统一方向if(g) x/=g,y/=g;if(!mp[{x,y}].size()) dir.push_back({x,y}); //新方向进列表mp[{x,y}].push_back(i); //怪物加入方向组}sort(dir.begin(),dir.end(),cmp); //逆时针排方向for(int i=0;i<dir.size();++i){cnt[i+1]=mp[dir[i]].size(); //记方向怪物数for(int k:mp[dir[i]]) id[k]=i+1; //记怪物方向编号}for(int i=1;i<=dir.size();++i) pre[i]=pre[i-1]+cnt[i]; //前缀和for(int a,b;q--;){cin>>a>>b;int x(id[a]),y(id[b]); //怪物方向编号if(x==y) cout<<cnt[x]<<'\n'; //同方向即该方向所有怪物else if(x>y) cout<<pre[x]-pre[y-1]<<'\n'; //逆时针区间和else cout<<pre[dir.size()]+pre[x]-pre[y-1]<<'\n'; //顺时针绕一圈}
}

F - Diagonal Separation 2

简单优化dp,其实就是维护一个形状而已。

void solve(){cin>>n;up(i,1,n){cin>>s[i];s[i]=" "+s[i];}memset(f,0x3f,sizeof f);memset(minl,0x3f,sizeof minl);up(i,1,n){up(j,1,n){pre[i][j]=pre[i][j-1]+(s[i][j]=='#');}dn(j,n,1){suf[i][j]=suf[i][j+1]+(s[i][j]=='.');}}up(j,0,n){f[1][j]=min(f[1][j],pre[1][j]+suf[1][j+1]);}up(i,2,n){memset(minl,0x3f,sizeof minl);dn(j,n,0){minl[j]=min(minl[j+1],f[i-1][j]);}up(j,0,n){f[i][j]=minl[j]+pre[i][j]+suf[i][j+1];//up(k,j,n)f[i][j]=min(f[i][j],f[i-1][k]+pre[i][j]+suf[i][j+1]);}}int ans=inf;up(i,0,n){ans=min(ans,f[n][i]);}cout<<ans;
}
http://www.jsqmd.com/news/481513/

相关文章:

  • 追觅AURORA的极光时刻:全球首创三摄模块化影像改变了什么?
  • 写作小白救星 AI论文工具 千笔 VS Checkjie,MBA专属高效写作神器!
  • 分析值得推荐的耐磨聚乙烯板供应商,优势亮点全解读 - 工业推荐榜
  • 2026年用户口碑优选Jira替代软件推荐:五款系统真实部署体验与协作反馈 - 十大品牌推荐
  • 总结2026年RPA机器人开发项目推荐,无锡文友信息实力凸显 - 工业设备
  • 青海蒙娜丽莎婚纱摄影品牌怎么样,在兰州地区口碑好吗? - 工业品牌热点
  • 2026年企业选型必看:产品管理系统选购指南与四大核心能力拆解推荐 - 十大品牌推荐
  • 企业数字化转型智慧行业数字生态全生命周期数据中台解决方案:业务需求与整体架构、数据中台技术架构、数据治理体系、数据智能能力
  • 2026六大城市高端腕表维修养护测评:场景化故障解决+全品牌网点适配指南 - 时光修表匠
  • 直接上结论:开源免费首选!千笔·降AI率助手 VS PaperRed
  • 2026年产品管理平台深度评测与推荐报告 - 十大品牌推荐
  • 智慧交通道路防护栏路标路缘石减速带识别分割数据集labelme格式1393张4类别
  • 2026年project管理系统权威榜单发布:五大平台技术实力与实战排位赛 - 十大品牌推荐
  • 线程安全的完美懒加载单例该怎么写?
  • 2026年公务员面试培训费用多少,友恒公考性价比高值得选 - mypinpai
  • SharePoint Online 文档库的收藏功能
  • MATLAB环境下基于MCMC的贝叶斯稀疏盲反卷积算法的实践与应用
  • 重庆全铝定制怎么选,知名靠谱且性价比高的品牌有哪些? - 工业推荐榜
  • 讲讲上海落户,哪家品牌靠谱又性价比高?好人事科技值得选吗? - 工业品网
  • 寻找可靠的刚性KBK起重机?这些市场反馈可供参考,刚性KBK/刚性KBK起重机/电动葫芦,刚性KBK起重机生产厂家排行榜 - 品牌推荐师
  • 2026年上海人才落户代办排名,口碑好的公司怎么选择 - 工业品网
  • 2026年阳光房施工团队哪家好,这些品牌值得关注 - myqiye
  • 2026年企业知识库选型指南:五款主流协作软件核心能力实测与适配分析 - 十大品牌推荐
  • 探讨北京时代蔽连科技双程记忆合金丝,选购时需考虑哪些因素? - mypinpai
  • 售后完善的AI数字员工公司价格多少,无锡文友信息贵不贵? - 工业品牌热点
  • S32K144 UDS Bootloader软件:包含周立功ZCANPRO上位机操作简单,适合...
  • 2026阳光房建设工作室推荐,好用的品牌性价比如何 - myqiye
  • 探秘苍南县飞林文武学校,其地理位置方便吗值得一探究竟 - 工业推荐榜
  • 2026年成都火锅评测:这5家地道老店值得一试,老火锅/火锅/美食/重庆火锅/火锅店/川渝火锅/特色美食,火锅品牌选哪家 - 品牌推荐师
  • 数字化项目管理新纪元:2026年主流平台市场格局与竞争力全景解析 - 十大品牌推荐