首页 > 其他分享 >kedaOJ-#P2574. [USACO 21DEC.B] Lonely Photo

kedaOJ-#P2574. [USACO 21DEC.B] Lonely Photo

时间:2024-06-22 13:44:14浏览次数:26  
标签:kedaOJ Lonely 21DEC int long USACO ans define

题目

[USACO 21DEC.B] Lonely Photo

思路

include<bits/stdc++.h>

using namespace std;

define int long long

define N 500010

int n, m, i, j, k;
int l[N], r[N], ans;
char a[N];

signed main()
{
scanf("%d%s", &n, a+1);
for(i=1, k=0; i<=n; ++i)
if(a[i]a[i-1]) l[i]=0, ++k;
else l[i]=k, k=1;
for(i=n, k=0; i>=1; --i)
{
if(a[i]
a[i+1]) r[i]=0, ++k;
else r[i]=k, k=1;
}
for(i=1; i<=n; ++i)
{
if(l[i]&&r[i]) ans+=l[i]*r[i];
if(l[i]>=2) ans+=l[i]-1;
if(r[i]>=2) ans+=r[i]-1;
}
printf("%lld", ans);
return 0;
}

代码

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 500010
int n, m, i, j, k; 
int l[N], r[N], ans; 
char a[N]; 

signed main()
{
	scanf("%d%s", &n, a+1); 
	for(i=1, k=0; i<=n; ++i)
		if(a[i]==a[i-1]) l[i]=0, ++k; 
		else l[i]=k, k=1; 
	for(i=n, k=0; i>=1; --i)
	{
		if(a[i]==a[i+1]) r[i]=0, ++k; 
		else r[i]=k, k=1; 
	}
	for(i=1; i<=n; ++i)
	{
		if(l[i]&&r[i]) ans+=l[i]*r[i]; 
		if(l[i]>=2) ans+=l[i]-1; 
		if(r[i]>=2) ans+=r[i]-1; 
	}
	printf("%lld", ans); 
	return 0;
}

标签:kedaOJ,Lonely,21DEC,int,long,USACO,ans,define
From: https://www.cnblogs.com/mcr130102/p/18262198

相关文章

  • 手把手教你做阅读理解提高003-Letters Cheer Up Lonely Seniors-信件让孤独的老年人振
    PDF格式公众号回复关键字:ZKYDT003阅读理解技巧,在帮助读者有效获取和理解文本信息方面发挥着重要作用,熟练掌握如下6个技巧,可快速突破阅读理解1预览文章结构在开始深入阅读之前,快速浏览文章的标题、段落开头和结尾,可以迅速把握文章的主题、大致内容和结构标题通常能概括文......
  • D. Lonely Mountain Dungeons
    原题链接题解每个种族的贡献是互不干扰的,因此只需要计算每个族群在每个组数的情况下的解然后累加就行了,由于每个族群在组数大于等于\(c_i\)的时候解数不变,所以这里用到了差分小技巧然后就是计算每个族群在每个组数下的解就行了code#definelllonglong#include<bits/std......
  • Lonely Mountain Dungeons
    这道题目为什么考场上没想出来。。。就是不太相信自己吧,而且有个技巧不太清楚。。哎很明显的一点是各个种族是分开的,所以我们每个种族单独考虑就好了假设对于一个种族,我们已经固定了分的组数为\(k\)了,那么肯定是“平均”分到每个组是最好的(这点没办法证明,但是我考场上就是想得这......
  • D. Lonely Mountain Dungeons
    D.LonelyMountainDungeonsOnce,thepeople,elves,dwarves,andotherinhabitantsofMiddle-earthgatheredtoreclaimthetreasuresstolenfromthembySmaug.Inthenameofthisgreatgoal,theyralliedaroundthepowerfulelfTimothyandbegantoplan......
  • CF1928D Lonely Mountain Dungeons
    原题链接设\(F(n,m)\)是将\(n\)个同种族的人放到\(m\)个队伍中可以获得的贡献。可以发现在同一个队伍中的人不能互相产生贡献,所以尽可能平均分配是最优的。设\(p=\lfloor\dfrac{n}{m}\rfloor,q=n\bmodm\),那么有\(m-q\)个队伍中有\(p\)个人,\(q\)个队伍中有\(p+1\)......
  • CF1423K Lonely Numbers
    思路因为对于\(\gcd(a,b)\),\(\fraca{\gcd(a,b)}\),\(\fracb{\gcd(a,b)}\)中\(a\)和\(b\)是等价的,可以交换的。所以我们先令\(a>b\)。令\(\gcd(a,b)=d\),因为\(\fraca{\gcd(a,b)}\)有除法,所以我们应该想办法去除除法,就同乘以一个\(d\),即\(d^2\),\(a\),\(b\)三条边。......
  • 【做题笔记】洛谷 P7987 [USACO21DEC] Paired Up G
    在我的个人博客获得更好的阅读体验Problem洛谷P7987[USACO21DEC]PairedUpG题目大意:有\(n\)个点,其中第\(i\)个点位置为\(x_i\),权值为\(y_i\)。若两个点\(i,j\)满足\(|x_i-x_j|\lek\),则这两个点之间有一条边。求一个匹配,在满足其为极大匹配的情况下匹配点的......
  • 【USACO 2021DEC P】Paired Up
    【USACO2021DECP】PairedUpDescription数轴上总计有\(N\)(\(1\leN\le5000\))头奶牛,每一头奶牛都是荷斯坦牛(Holstein)或更赛牛(Guernsey)之一。第\(i\)头奶牛的品种为......
  • [LeetCode] 531. Lonely Pixel I
    Givenan mxn picture consistingofblack 'B' andwhite 'W' pixels,return thenumberof black lonelypixels.Ablacklonelypixelisacharacter '......