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

题解:AWC 0003

题解:AWC 0003

A

思路

没什么好说的,记得要开long long

代码

ll n, k, a[N], b[N], cnt;
int main(){cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i]>>b[i];if(a[i]*b[i]>=k){cnt++;}}cout<<cnt;
}

B

思路

判断 \(L_i\)\(R_{i-1}\) 是否相等即可。

代码

ll n;char a[N], b[N];int cnt;
int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i]>>b[i];}for(int i=1;i<=n;i++){if(a[i]==b[i-1]){cnt++;}}cout<<cnt;
}

C

思路

贪心+排序,注意排序时,是按 \(A_i - B_i\) 来排。

代码

ll n, cnt, k;
pll p[N];
int main(){cin>>n>>k;for(int i=1;i<=n;i++){cin>>p[i].fi>>p[i].se;}sort(p+1, p+1+n, [](pll x,pll y){return x.fi-x.se>y.fi-y.se;});for(int i=1;i<=n;i++){if(i<=k){cnt+=p[i].se;}else cnt+=p[i].fi;}cout<<cnt;
}

D

思路

一个滑动窗口,当 \(r-l+1 \lt k\)\(sum \lt m\) 时,往后找,其中, \(sum=\displaystyle\sum_{i=l}^r A_i\)

代码

ll n, k, m, a[N], ans, sum;
int main(){cin>>n>>k>>m;for(int i=1;i<=n;i++){cin>>a[i];}int r=-1;for(int l=1;l<=n;l++){while(r+1<=n&&r-l+1<k){++r;sum+=a[r];}while(r+1<=n&&sum<m){r++;sum+=a[r];}if(sum>=m&&r-l+1>=k){ans+=n-r+1;}else break;sum-=a[l];}cout<<ans;
}

E

思路

这道题,我是拿状压dp写的,不知道的可以在oiwiki上看。
注意到 \(n,m \le 15\) ,所以写状压。设 \(dp_i\) 为可以拿二进制 \(i\)\(1\) 的位置的物品,例如当 \(i=10\) 时, \(i=10=2^3+2^1\) ,它的二进制为 \((1010)_2\) ,表示我们可以拿第 \(1\) 个位置和第 \(3\) 个位置的物品。
那么,当 \(dp_i=1\) 时,它的状态转移式为:

\[dp_{当前没被选的物品的所有子集|i}=[子集内物品重量总和 \le c_i] \]

初始状态 \(dp_0=1\)
当如果我们硬算子集内物品重量总和,我们的时间复杂度来到 \(O(mn\ 3^n)\) 太高了,我们要预处理所有子集物品重量总和。

代码

下标从0开始的

ll n, m, w[N], c[N];ll wg[1<<15];
bitset<1<<15>f;
int main(){cin>>n>>m;for(int i=0;i<n;i++){cin>>w[i];}for(int i=0;i<m;i++){cin>>c[i];}sort(c, c+m);int s=1<<n;s--;for(int i=1;i<=s;i++){int lb=i&-i;int j=__builtin_ctz(lb);wg[i]=wg[i^lb]+w[j];}f[0]=1;for(int i=0;i<m;i++){bitset<1<<15> g=f;for(int j=0;j<=s;j++){if(!f[j]){continue;}int res=j^s;for(int ss=res;ss;ss=(ss-1)&res){if(wg[ss]<=c[i]){g[j|ss]=1;}}}f=g;if(f[s]){break;}}cout<<(f[s]?"Yes\n":"No\n");
}

下标从1开始的

ll n, m, w[N], c[N];ll wg[1<<15];
bitset<1<<15>f;
int main(){cin>>n>>m;for(int i=1;i<=n;i++){cin>>w[i];}for(int i=1;i<=m;i++){cin>>c[i];}sort(c+1, c+1+m);int s=1<<n;s--;for(int i=1;i<=s;i++){int lb=i&-i;int j=__builtin_ctz(lb);j++;wg[i]=wg[i^lb]+w[j];}f[0]=1;for(int i=1;i<=m;i++){bitset<1<<15> g=f;for(int j=0;j<=s;j++){if(!f[j]){continue;}int res=j^s;for(int ss=res;ss;ss=(ss-1)&res){if(wg[ss]<=c[i]){g[j|ss]=1;}}}f=g;if(f[s]){break;}}cout<<(f[s]?"Yes\n":"No\n");
}

本文来自 NoiPLE ,转载请注明原文链接:https://www.cnblogs.com/noiple-dequeee/p/19605891

http://www.jsqmd.com/news/371157/

相关文章:

  • 5万字详解《使用 LangGraph, FastAPI, MCP and Docker 构建通用 AI 智能体:自主系统原理与应用实战》
  • 2026年评价高的滚珠丝杆升降机/电动丝杆升降机源头直供参考哪家便宜 - 行业平台推荐
  • 2026年质量好的同步阻尼隐藏轨/橱柜阻尼隐藏轨怎么选实力工厂参考 - 行业平台推荐
  • 2026年评价高的隐形门液压合页/液压合页口碑排行热门品牌推荐(实用) - 行业平台推荐
  • CF298A Snow Footprints 题解
  • 2026年口碑好的冰箱重型滑轨/不锈钢重型滑轨直销厂家采购指南如何选 - 行业平台推荐
  • 2026年质量好的毛绒玩具激光切割机/小视觉激光切割机哪家强生产厂家实力参考 - 行业平台推荐
  • 欧盟与印度自贸协定开启IT服务新时代
  • AI系统安全加固方案:架构师如何设计安全的密钥管理系统
  • Snow Footprints CodeForces - 298A 的题解
  • 大卫·德雷曼的对比优势:在市场低迷时逆向而行
  • 微软二月补丁日修复六个零日漏洞
  • 提示工程架构师实战:用Agentic AI提升prompt的“泛化能力”
  • Fact2Fiction Targeted Poisoning Attack to Agentic Fact-checking System
  • Arctic Wolf瞄准亚太地区中端市场网络安全缺口
  • 2026年口碑好的医用抽屉滑轨/骑马抽屉滑轨厂家热卖产品推荐(近期) - 行业平台推荐
  • 2026 年四川月嫂培训、养老护理培训怎么选,五大核心痛点 + 真实排名帮你避坑 - 深度智识库
  • 2026年知名的阻尼静音平面铰链/进口品牌平面铰链源头直供参考哪家便宜 - 行业平台推荐
  • 2026年比较好的郑州电力管/郑州cpvc电力管推荐几家可靠供应商参考 - 行业平台推荐
  • 2026年热门的无尘车间净化铝型材/包边净化铝型材供应商采购指南怎么联系 - 行业平台推荐
  • 2026年靠谱的减速机/精密行星减速机可靠供应商参考推荐几家 - 行业平台推荐
  • 从GPT到LLaMA:提示工程架构师对比移动端大模型提示策略差异
  • 2026冷却塔行业十大服务商:玻璃钢环保制品全链路解决方案新标杆 - 深度智识库
  • 稳定基因敲低细胞系(Stable Gene Knockdown Cell Line)是什么?从 RNAi / CRISPRi 到 HEK293、CHO 稳态抑制模型的系统理解
  • 大数据环境下Doris架构设计全解析
  • 企业日志集中化管理:基于Filebeat+Logstash的解决方案
  • 2026年靠谱的中空旋转平台减速机/精密型中空旋转平台销售厂家采购建议选哪家 - 行业平台推荐
  • 价值投资与财务报表分析
  • 2026年质量好的衣柜缓冲滑轨/珠宝缓冲滑轨怎么选直销厂家价格参考 - 行业平台推荐
  • 2026年热门的高端不锈钢门吸/不锈钢门吸供应商推荐怎么联系(畅销) - 行业平台推荐