- 博客(13)
- 收藏
- 关注
原创 L2-010 排座位(并查集)
题面:布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一
2022-04-21 17:50:39
149
原创 AtCoder Beginner Contest 242——1111gal password
题意:找到长度为n位的且满足相邻位之差的绝对值不超过1数字的方案总数大致思路如下:const int mod = 998244353;//dp[i][j]表示前i个位且第i位填j满足要求的方案数LL dp[N][11]; signed main(){ int n=read(); for(int i=1;i<=9;i++) dp[1][i]=1;//初值,最左位填i的方案数 for(int i=2;i<=n;i++){ for(int j=1.
2022-03-06 21:22:38
361
原创 AtCoder Beginner Contest 242——Range Pairing Query
莫队模板题:题意:给你编号分别为1~n的人,第i个人有一个颜色colori,每次询问求出[l, r]这个区间内最多可以组成多少对颜色相同的人在该区间内,成对条件就是cnt[x]是偶数,否则就不成对 #include<bits/stdc++.h> using namespace std; const int maxn = 1e6; struct node{ //离线记录查询操作 int L, R, k; //k:查询操作的原始顺序 }q[
2022-03-06 21:12:30
273
原创 最大公共子串长度
最大公共子串长度问题就是: 求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc", 可以找到的最长的公共子串是"abcd",所以最大公共子串长度为 4。#include <iostream>#define db doubleusing namespace std;const int N = 1e4,M = 2000;int dp[N][N];int main(){ string s1,s2; cin>>s
2022-02-05 14:39:42
1104
原创 白兔的分身术
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述白兔学会了分身术。一开始有一只白兔,接下来会进行k轮操作,每一轮中每一只白兔都会变成p只白兔。要求k轮后白兔的总数恰好为n。要求找到两个正整数p,k,最大化p+k输入描述:输入一个正整数n(2<=n<=1018)输出描述:输出一个整数,p+k的最大值示例1输入2输出3说明p
2022-01-21 23:14:41
3294
原创 最大连续子序列
给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...,Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20。现在增加一个要求,即还需要输出该子序列的第一个和最后一个元素。Input测试输入包含若干测试用例,每个测试用例占2行,第1行给出正整数K(
2021-12-04 16:20:49
127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人