首页 > 其他分享 >CF-926(已更新:B)

CF-926(已更新:B)

时间:2024-02-16 09:22:21浏览次数:35  
标签:格子 位置 CF 更新 贡献 边缘 涂色 顶点 926

CF-926

两点睡,七点起,阎王夸我好身体……

主要这场实在是难绷,两个小时都在C题上吊死了,也不是没想过跳题,只是后面的题我更是一点思路都没有-^-

“就喜欢这种被揭穿的感觉,爽!”

B

分析

​ 涂色的单元格能够包含k种对角线,很明显要根据图像的具体性质想答案:

然而我赛时是一股脑地猜结论,这种方法在赛时不确定性还是太大了,希望自己能尽快把思维这方面的短板补起来……

​ 上色时考虑单种特殊点对其它特殊点及答案的贡献。

  • 四个顶点:作图发现只有同侧的两个顶点对答案的贡献是2,另外两个是1;再分析发现,顶点包含的是一条最短和一条最长的对角线,前者只经过它自己,后者还要经过(n-1)个格子,所以上色一个顶点后会使(n-1)个处于最长对角线上的格子贡献-1
  • 中心点或者说不在边缘位置的点:对他们上色就会使经过它们包含的两种对角线的格子贡献-1——其中包括处于顶点,非边缘位置的点,边缘位置的格子
  • 边缘位置的点:对他们上色就会使处于非边缘位置的格子贡献-1

​ 要使答案最小,我们涂色的格子的贡献一定尽量都是2,若贡献为2的格子涂完了再考虑贡献为1的格子,再结合上面三种点位的性质,我们发现涂顶点与边缘位置的格子才会使可选格子贡献值最大(涂色不在边缘位置的格子影响的格子数更多,涂它们比不涂它们会使贡献为2的格子更少)。由此再考虑使涂色这两种格子对其它格子影响最小,先涂的格子一定都在同一侧,有n个,而其余贡献为2的格子是对侧的边缘位置的格子,有(n-2)个,剩下的可选格子贡献都为1。

比如图示3*3的红色部分

操作

​ 因此,有w=(n*2-2)个格子贡献为2,(w乘2)>=k时,答案为(k/2)向上取整,否则,还要涂k-(w乘2)个贡献为1的格子,答案为k-(w乘2)+w=k-w

为了规避markdown语法……

代码

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
#define db(x) cout<<x<<" "<<endl;
#define _db(a,n) for(int i=1;i<=n;i++) cout<<a[i]<<" ";cout<<endl;
#define mem(a) memset(a,0, sizeof(a))
//int qz(int k){
//	if(k%2==0) return k/2;
//	else return k/2+1;
//}
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
	int t,n,k,w,ans=0;cin>>t;
	while(t--){
		cin>>n>>k;
		w=n*2-2;
        //身为蒟蒻现在才学会怎么向上取整很合理吧……
		if(w*2>=k) ans=(k+1)/2;//ans=qz(k);
		else ans=k-w;
		cout<<ans<<endl;
	}
	return 0;
}


C

更新中(/头秃)

标签:格子,位置,CF,更新,贡献,边缘,涂色,顶点,926
From: https://www.cnblogs.com/mono-4/p/18016907

相关文章

  • CF896C Willem, Chtholly and Seniorious 题解
    题目链接:CF或者洛谷比较经典的题目看到存在随机数据以及区间赋值先别急,我们发现第四个操作是很难办的,第四个操作貌似只有暴力才好做。这个时候我们可以考虑使用珂朵莉树来做,这题也是珂朵莉树的出处。使用平衡树去写珂朵莉树的话,那么随机数据下,连续段的期望为\(\log{n}\)个,所......
  • CF1928E题解
    ModularSequence题目传送门题解发现\(a_i+y\)与\(a_i\bmody\)均不改变\(a_i\)模\(y\)的余数,所以答案序列的每个元素均可表示为\(x\bmody+ky\)的形式,先让\(s\)减去\(n\times(x\bmody)\),再除以\(y\),这样原序列可以被划分为一个从\(\lfloor\dfrac{x}{y}\rflo......
  • 轻松实现.NET应用自动更新:AutoUpdater.NET教程
    在软件开发中,应用程序的自动更新功能是一个重要的特性,它能让用户在不手动干预的情况下获取最新的软件版本。这不仅提高了用户体验,还有助于开发者及时修复潜在的问题、增加新功能,并确保软件的安全性和稳定性。对于.NET开发者来说,实现自动更新功能并不总是那么简单。幸运的是,有一个......
  • 相对次序建有向图——cf_925_F. Chat Screenshots
    目录问题概述思路分析参考代码做题反思问题概述原题参考:F.ChatScreenshots聊天室内有n个人,存在一定的顺序,但是每个人看顺序时都会把自己放到最前面,其余人的位置不变,现在给出k组长度为n的排列,问是否冲突思路分析对于k组排列,除了自己的位置未知外,其余人的相对次序都是正确的......
  • 数组元素关系映射——cf_925_D. Divisible Pairs
    目录问题概述思路分析参考代码做题反思问题概述原题参考:D.DivisiblePairs给出整数n、x、y和长度为n的数组,要求求出数组中满足以下关系的数对x|ai+ajy|ai-aji<j思路分析刚开始看到这个题的时候觉得没思路,坐牢卡半天发现感觉是对的(裂开)。题解给的是map的做法,看完之......
  • 2024.2.14 WC24 线段树 / CF1572D / lgP3679
    西安Day1。感冒还没好,牙龈炎也没好,明天还要考试,又要坐牢了/kk。今天是tyy的图论选讲,感觉前面网络流部分还是在线的,平面图部分毒瘤tyy拿出了他的员交课件,恐怖,直接下线了。看了NAVI和Faze的预选赛,你们俩怎么都打的这么稀碎/fn。Override真好听。「WC2024」线段树我......
  • 解决pinia中更新值失败的问题
    来看一段代码,思考第19行代码能否正常输出?:asyncfunctionlogin(account_id:string,password:string):Promise<string>{leterror_message='';await$.ajax({url:'',type:"post",data:{//...........
  • CF925
    CF925补题ing待更新F对第2到n依次建边,求拓扑序是否存在,即cnt=n#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#defineintlonglong#definedb(x)cout<<x<<""<<endl;#define_db(a,n)for(inti=1;i<=n;i++)c......
  • CF1931F Chat Screenshots 另一种题解
    题目链接:CF或者洛谷本题拓扑排序不再赘述,来说说字符串哈希怎么做这题。本篇以另一种角度剖析题目背景,并不追求最优,例如有些地方其实可以暴力判断,主要以构造的角度阐述,顺便感谢灵茶山的朋友的讨论。结论三个串及其以上必定能构造出最初的那个串。下面进行证明:首先一个串,显......
  • 【题单】一个动态更新的洛谷综合题单
    洛谷试炼场的题目确实很具有代表性,但是近几年以来,又有许多经典题目出现在OI界中,这个大题单就是作为洛谷试炼场的扩展和补充。目录新版本食用指南更新日志题单Part0试机题Part1入门阶段Part2基础算法Part3搜索Part4动态规划Part4.1-4.4动态规划Part4.5-4.12动态规......