2024/7/10 笔记

news/2024/11/16 18:44:52/文章来源:https://www.cnblogs.com/Kang-shifu/p/18294969

CF1693F
image
对0,1个数相等的0,1串进行排序一定是最优的贪心策略。
我们把0记为1,1记为-1.求前缀和
image
image
如果1的个数大于0的个数,那么就把整个串翻转然后取反,推一下就可以知道结果不会变。
image
image
image

CF1646F
image
这题我写了半天发现假了;
一开始看了样例很容易想到,每个人每轮都把自己不需要的牌往下放,由于操作数不能超过n^2-n,我还特地为每个人开了一个优先队列,按dis(当前牌还有多远(经过多少轮)才能到达他应该到的那个人),然后每次取出dis最小的下发。

这时我犯了第一个错误,每轮每个人的操作是同时进行的,而如果用循环实时更新的话,就会导致上一个人刚放下来的牌被下一个人取走,同一轮中这种情况是显然不会出现的。所以我又整了两个栈来把每一轮的修改存起来。

但我发现还是不不对

仔细思考,我发现到最后有可能某一个人的牌已经达成目标了但其他人手里还有不需要的牌,这种情况就很难处理。如果那个牌凑齐了的人把自己的一张牌下发的话,就有可能造成死循环,而其他策略我有没有找到其他可行的方法,遂放弃。
看了题解,才恍然大悟。
image

using namespace std;
const int maxn = 150;
int xl[maxn*maxn][maxn],mp[maxn][maxn],dq[maxn],dq1[maxn],n,col,tot,cnt[maxn];
void add(int x,int y){mp[x][y]++,cnt[x]+=(mp[x][y]==1);
}
int main(){cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)cin>>col,add(i,col);}for(int i=1;i<=n*(n-1)/2;i++){int pd=1;for(int j=1;j<=n;j++)if(cnt[j]!=n) {pd=0; break;}if(pd) break;tot++; int cs=0;for(int j=1;j<=n;j++){for(int k=1;k<=n;k++)if(mp[j][k]>1) {cs=j; break;}if(cs) break;}for(int j=cs;j<=n;j++)for(int k=1;k<=n;k++)if(mp[j][k]>1) {xl[tot][j]=k,mp[j][k]--,add(j%n+1,k); break;}for(int j=1;j<=cs-1;j++)for(int k=1;k<=n;k++)if(mp[j][k]>1) {xl[tot][j]=k,mp[j][k]--,add(j%n+1,k); break;}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++) dq[j]=(i+j-2)%n+1;for(int j=1;j<=i-1;j++){tot++;for(int j=1;j<=n;j++) xl[tot][j]=dq[j],dq1[j%n+1]=dq[j];for(int k=1;k<=n;k++) dq[k]=dq1[k];}}cout<<tot<<endl;for(int i=1;i<=tot;i++){for(int j=1;j<=n;j++) cout<<xl[i][j]<<" ";cout<<endl;}return 0;
}

CF741C
image
正解是二分图染色;
乱搞做法(与题解雷同)只不过我没有暴力搞成121212而是先按两人的冲突分配成不同的1/2
image

CF1844E
https://https://www.luogu.com.cn/problem/CF1844E
image
image
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741912.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

G65 线性基+贪心法 P4570 [BJWC2011] 元素

视频链接: P4570 [BJWC2011] 元素 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 线性基 O(60*n) #include <iostream> #include <cstring> #include <algorithm> using namespace std;#define LL long long const LL N=1005; int n,m; struct node{LL …

一套基于 Ant Design 和 Blazor 的开源企业级组件库

前言 今天大姚给大家分享一套基于Ant Design和Blazor的开源(MIT License)、免费的企业级组件库(喜欢Ant Design风格的同学推荐使用):Ant Design Blazor。项目特性提炼自企业级中后台产品的交互语言和视觉风格。 开箱即用的高质量 Blazor 组件,可在多种托管方式共享。 支持…

Linux-shell编程入门基础

本篇文章就是一个过渡学习的,先入门shell脚本,由于作者有编程基础,所以有些解释的比较少。由于现在还在努力学习中,以后等本散修进阶了之后再写进阶的、与网络安全更加贴合的shell编程目录前言Shell编程bash特性shell作用域变量环境变量$特殊变量$特殊状态变量$特殊符号(很…

HashMap和ConcurrentHashMap的底层实现原理

(1)HashMap底层实现原理 在 JDK 1.7 版本之前, HashMap 数据结构是数组和链表,HashMap 通过哈希算法将元素的键 (Key) 映射到数组中的槽位 (Bucket)。如果多个键映射到同一个槽位,它们会以链表的形式存储在同一个槽位上,因为链表的查询时间是 O(n),所以冲突很严重,一个…

【Azure Key Vault】关于Key Vault使用的几个问题

问题一:Key Vault 和 Event Grid 通过将 Key Vault 与事件网格集成,可以在密钥保管库中存储的机密的状态发生更改时收到通知。 状态更改将定义为即将到期的机密(到期前 30 天)、已过期的机密或具有可用新版本的机密。 支持所有三种机密类型(密钥、证书和机密)的通知。无法…

利用Selenium和PhantomJS绕过接口加密的技术探索与实践

本文介绍了如何利用Selenium结合PhantomJS绕过网站接口加密的方法,详细分析了实现过程中的关键步骤和技术挑战。此外,文章还包括一个具体案例:使用该技术爬取振坤行商品信息的实例,展示了该技术在实际网络数据采集中的应用和效果。selenium+phantomjs绕过接口加密 我们为什…

Profinet转ModbusTCP网关模块连发那科机器人与DCS通讯

本文介绍了使用巴图自动化Profinet转ModbusTCP网关(BT-ETHPN20)配置通讯,实现DCS与发那科机器人间数据传递的步骤。巴图自动化Modbus转Profinet网关模块(BT-MDPN10)集成了Modbus协议和Profinet协议,具有将Modbus和Profinet协议互转的能力,且支持Modbus RTU主从站。Profine…

动手学Avalonia:基于硅基流动构建一个文生图应用(一)

本文为动手学Avalonia:基于硅基流动构建一个文生图应用系列(一)。文生图 文生图,全称“文字生成图像”(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像。这种技术利用深度学习模型,如生成对抗网络(GANs)或变换器(Transformers),来理解和解析…

APP抓包神器drony

APP抓包神器drony 当你想抓app的包,但是charles却很多包没有,甚至很多请求都是unknown,这个时候用Drony就很好用了,将charles打开,用drony来转发app的所有请求,而不是直接设置手机wifi代理。 1:安装drony (这里手机使用的Android设备)您可以在网络上搜索drony选择自己…

主成分分析及其matlab实现

本讲将介绍主成分分析(Principal Component Analysis,PCA),它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关。一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化。…

关于ComfyUI的一些Tips

关于ComfyUI的一些Tips 前言: 最近发的ComfyUI相关文章节奏不知道会不会很快,在创作的时候没有考虑很多,想着把自己的知识分享出去。后台也看到很多私信,有各种各样的问题,这是我欠缺考虑了,今天这篇文章呢,根据私信的问题我大致整理了一下,给大家一些小tips。 目录 一…

2024暑假集训测试2

前言比赛链接。T1、T4 比较简单,打完基本就罚坐了,想了三个小时的 T2、T3 也没想出来。 T1 酸碱度中和 二分答案加贪心即可,先排序,每瓶可装 \(a_i\sim a_i+2*m\)。点击查看代码 #include<bits/stdc++.h> #define int long long #define endl \n #define sort stable…