2017ACM/ICPC广西邀请赛 Duizi and Shunzi
题意:就是一个集合分开,有两种区分 对子:两个相同数字,顺子:连续三个不同数字,问最多分多少个
解法:贪心,如果当前数字不构成顺子就取对子 /2,如果可以取顺子,那么先取顺子再取对子
1 #include <iostream> 2 #include <stdio.h> 3 #include <vector> 4 #include <string.h> 5 #include <map> 6 using namespace std; 7 struct Node{ 8 int x,y; 9 }node[123]; 10 map<int,int>Mp; 11 int n; 12 map<int,int>::iterator it; 13 int main(){ 14 while(~scanf("%d",&n)){ 15 Mp.clear(); 16 int num; 17 int sum=0; 18 for(int i=0;i<n;i++){ 19 scanf("%d",&num); 20 Mp[num]++; 21 } 22 int cnt=0; 23 for(int i=1;i<=n;i++){ 24 int ans=i-1; 25 int cos=i-2; 26 if(Mp[ans]&&Mp[cos]&&Mp[i]){ 27 while(Mp[ans]&&Mp[cos]&&Mp[i]){ 28 //cout<<ans<<" "<<cos<<" "<<i<<endl; 29 Mp[ans]--; 30 Mp[cos]--; 31 Mp[i]--; 32 cnt++; 33 } 34 cnt+=Mp[i]/2; 35 Mp[i]%=2; 36 }else{ 37 cnt+=Mp[i]/2; 38 Mp[i]%=2; 39 } 40 } 41 printf("%d\n",cnt); 42 } 43 return 0; 44 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~