首页 > 其他分享 >题解 P7309 [COCI2018-2019#2] Kocka

题解 P7309 [COCI2018-2019#2] Kocka

时间:2024-01-30 16:16:16浏览次数:24  
标签:return puts int 题解 NE 2019 P7309 节点

传送门

题意

一个 $N\times N $ 的矩形,有从四周往内望去的第一个位置的距离,问是否存在一个矩形满足我们的观察。

分析

先说说我这个蒟蒻想出来的巨麻烦的方法。

首先先判断最简单的矛盾,就是左右穿插,上下穿插,这是第一步。

//-1 变成 n
for(int i=1; i<=n; ++i) if(L[i]+R[i]>=n) if(L[i]!=n||R[i]!=n) return puts("NE"),0;
for(int i=1; i<=n; ++i) if(U[i]+D[i]>=n) if(U[i]!=n||D[i]!=n) return puts("NE"),0;

第二步就是左右和上下之间的矛盾。
先从左边出发思考,我们在左边看到的这些黑格之前这一行一定不能出现节点,在黑格时,上下的两端应当将当前节点包裹,这就是第二步。


for(int i=1; i<=n; ++i) a[i]=<%L[i],i%>;
sort(a+1,a+n+1);
int now=1;
for(int i=1; i<=n; ++i) {
	int id=a[i].id;
	while(now<=L[id]) {
		if(U[now]!=INF) vis[U[now]+1]=vis[n-D[now]]=1;
		++now;
	}
	if(vis[id]) return puts("NE"),0;
	int x=L[id]+1;
	if((U[x]+1>id)||(id>n-D[x])) return puts("NE"),0;
}

然后就结束了,我的代码一共有 \(56\) 行,但是看了一眼这个大佬的题解,发现想麻烦了许多。

我们的黑点倘若出现了矛盾,那么必然会影响到其他的方向的值,那么直接将其他方向观察这个节点的影响求出,看是否矛盾即可。

代码就不贴了,看大佬博客即可。

标签:return,puts,int,题解,NE,2019,P7309,节点
From: https://www.cnblogs.com/djh0314/p/17997310

相关文章

  • 题解 P6548 [COCI2010-2011#2] IGRA
    传送门。题意有\(A\),\(B\)两个人,有一个含\(n\)个字符的字符串。\(A\)始终取最右侧的字符,\(B\)可以取任意一个字符,问\(B\)所取的字符串能否胜过\(A\),以及\(B\)能取的最大字符串。分析首先,我们\(A\)肯定会选择当前的最小的字符,我们就可以先把字符按大小排序,字符相......
  • 【题解】CF185D - Visit of the Great
    【题解】CF185D-VisitoftheGreat设\(d=\gcd(k^{2^a}+1,k^{2^b}+1),(a<b)\),则:\[k^{2^a}\equivk^{2^b}\equiv-1(\bmodd)\]所以\[1\equiv(-1)^{2^{b-a}}\equivk^{2^a*2^{b-a}}\equivk^{2^b}\equiv1(\bmodd)\]所以\(d\)为\(1\)或\(2\)。设\(t......
  • RocketMQ应用-消费幂等性问题解决
    重复消费产生原因生产者多次投递-投递时服务端接收后客户端网络原因确认失败,重新投递消费者扩容重试-消费者扩容导致正在消费的消息没有正常应答,服务端重新推送重复消费解决方案给消息增加唯一key,消费时校验key是否已经消费过消费者控制消息的幂等性(多次同样的操作结果一......
  • 9.【题解】计算器
    题解\(BSGS\)(拔山盖世)其实叫\(Baby\)\(Step\)\(Giant\)\(Step\)(大步小步)\(qwq\),事实上还有\(ex\)\(BSGS\),但是这里只写\(BSGS\)。当\(\gcd(x,y)=1\)时,\(BSGS\)可以用\(\sqrtn\)的时间复杂度求解\(\largey^x\equivz\pmodz\)的问题。(原根是\(\largex^a......
  • P6824 「EZEC-4」可乐 题解
    题目链接:可乐一开始想着0-1Trie,枚举\(x\)去写,然后判断就行了。然后想起南京区域赛的C题,其实和这个也有点大同小异的感觉,可以用更朴素的办法,找到对于一个\(a_i\)而言,满足题意的所有\(x\)去\(+1\)。这玩意很容易办到的,稍微讨论下:类似0-1Trie的按位讨论,从高位开始,我......
  • [ARC163D] Sum of SCC 题解
    题目链接点击打开链接题目解法好牛的性质!!!首先一个家喻户晓的性质是:竞赛图缩点之后是一条链考虑从这个上面拓展出一个更优美的性质:竞赛图的\(scc\)个数\(=\)把点集分成两个集合\(A,B\),满足\(\forallu\inA,v\inB\),\(u,v\)之间边的方向为\(u\tov\)的方案数\(-1\)......
  • CF1925B A Balanced Problemset? 题解
    CF1925B题解题目链接CodeforcesLuogu题目大意有一个长度为\(n\)且和为\(x\)的正整数序列,询问该序列可能的最大公因数。多测。简要思路首先先给出结论:最终的答案一定是\(x\)的因数。接下来我通过两种方法证明:一、类似于“更相减损法”一个序列的\(\gcd\)等于......
  • 2024 USACO 题解
    BronzeSilverT1Question给你长度为\(n\)的序列\(c\),$0\lec_i\leC$。若当前位置为\(0\)则表示这个数未知,要求你填数使得序列字典序最小,并满足给出的\(q\)条限制\((a_j,h_j)\),使得\(C_{h_j}\)是第一个严格大于\(C_1\cdotsC_{a_j}\)的数。Solution我的方法叫......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World
    [CISCN2019华北赛区Day2Web1]HackWorld页面中给了提示,数据表名和列名都为flag输入1尝试输入2尝试输入3提示获取结果出错输入1'尝试找注入点,根据返回结果判断可能是字符型注入使用永真语句尝试发现注入被过滤通过爆破发现部分关键字并没有被过滤这里通过师傅们(h......
  • CF1925D Good Trip 题解
    考虑分别计算\(p\)和\(q\)。按照期望的定义,\(q\)应该等于方案的总数,也就是\(s^k\),其中\(s\)表示一共有多少个不同的组。考虑如何求\(p\),我们先只计算第\(i\)组对\(p\)的贡献。如果第\(i\)组一共被选了\(1\)次,那么贡献为:\[g=f_i\timesC_{k}^{1}\times(s-1)^{......