网站建设php书籍如何做网站流量统计
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:53
当前位置: 首页 > news >正文
网站建设php书籍,如何做网站流量统计,怎么做网站推广佳木斯,苏州适合做网络推广的企业文章目录T1 [Daimayuan]删删#xff08;C#xff0c;字符串#xff09;输入格式输出格式样例输入样例输出数据规模解题思路T2 [Daimayuan]快快变大#xff08;C#xff0c;区间DP#xff09;输入格式输出格式样例输入样例输出数据规模解题思路T3 [Daimayuan]饿饿 饭饭2C字符串输入格式输出格式样例输入样例输出数据规模解题思路T2 [Daimayuan]快快变大C区间DP输入格式输出格式样例输入样例输出数据规模解题思路T3 [Daimayuan]饿饿 饭饭2C数学输入格式输出格式数据规模样例输入样例输出解题思路T4 [Daimayuan]子串分值和C字符串输入格式输出格式样例输入样例输出数据规模解题思路T5 [Daimayuan]蒟蒻CSTL输入格式输出格式样例输入样例输出数据规模解题思路T6 [Daimayuan]锦标赛C模拟输入格式输出格式样例输入1样例输出1样例输入输出2数据规模解题思路T7 [Daimayuan]可重排列C字符串输入格式输出格式样例输入样例输出数据规模解题思路T8 [Daimayuan]进制转换C题面输入格式输出格式输入样例1输出样例1输入样例2输出样例2输入样例3输出样例3解题思路T9 [Daimayuan]循环子串C字符串题目描述输入格式输出格式数据范围样例输入样例输出提示解题思路T10 [Daimayuan]饿饿 饭饭之暑假大狂欢C数学输入格式输出格式数据范围样例输入样例输出解题思路T1 [Daimayuan]删删C字符串
给定一个字符串你可以删除多个(可以是 000) 相同 的字符这样操作之后你能否得到一个回文串如果能求最小化删除的个数。
输入格式
多组数据。
每一组数据包含两行分别为字符串的长度 NNN以及一个仅由小写字母组成的字符串 SSS。
输出格式
对于每一组数据输出一行。
如果不可能得到一个回文串输出 −1−1−1。反之则输出最小操作次数。
样例输入
4
8
bilibili
3
qwq
9
daimayuan
7
xcpcxpc样例输出
1
0
-1
2解释
在第一个例子中删除开头的 b 得到 ilibili。
第二个例子中qwq 本身已回文不需要操作。
第三个例子中可以看到 daimayuan 不能靠仅删除一种字符得到一个回文串。
数据规模
1≤N≤1051≤N≤10^51≤N≤105, 但保证 ∑N≤2×105\sum{N}≤2×10^5∑N≤2×105
解题思路
并没有巧妙的办法就是简单的枚举262626种字母找出其中删除的最少的即可
检测的思路如下
从左右两端开始匹配
1if str[left] str[right]left, right–
2if str[left] ! str[right]
如果左侧字符可以删除那么删除左侧字符left
如果右侧字符可以删除那么删除右侧字符right–
如果左右都不可以删除本轮删除失败继续尝试下一个字符
#include iostream
#include string
using namespace std;
const int max_n 2e5;
const string compose abcdefghijklmnopqrstuvwxyz;string str;
int n1, n2;int main() {cin n1;for (int i 0; i n1; i) {cin n2 str;int ans -1;for (char c: compose) {int l 0, r n2 - 1;int temp 0;while (l r) {if (str[l] str[r]) {l; r–;}else {if (str[l] c) {l;temp;}else if (str[r] c) {r–;temp;}else {temp -1;break;}}}if (temp ! -1)if (ans -1) ans temp;else ans min(ans, temp);}cout ans endl;}return 0;
}
T2 [Daimayuan]快快变大C区间DP
给定一个长度为 nnn 的数组 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an接下来进行 n−1n−1n−1 次操作。每次选择一个下标 xxx 将 axaxax 和 ax1a{x1}ax1 合并成 ax∗ax1mod1000003ax*a{x1}mod1000003ax∗ax1mod1000003 并且你会获得 (ax−ax1)2(ax−a{x1})^2(ax−ax1)2 的分数。
所以每次操作后数组的长度将会减 111当最后只剩下一个元素时停止操作。输出最终能获得的最大分数。
输入格式
第一行一个数字 nnn。
接下来一行 nnn 个整数 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an。
输出格式
一个数表示答案。
样例输入
3
1 2 3样例输出
26数据规模
所有数据保证 1≤n≤300,1≤ai≤1061≤n≤300,1≤a_i≤10^61≤n≤300,1≤ai≤106。
解题思路
是没见过的船新版本DP
首先简单说明一下每轮操作的含义
对于要合并的长度为lenlenlen的区间[l,r][l,r][l,r]我们先分别合并左右两部分[l,k][l,k][l,k]和[k1,r][k1,r][k1,r]那么容易知道
dp[l][r] max(dp[l][r], dp[l][k] dp[k 1]r ** 2)
也就是说合并区间[l,r][l,r][l,r]所得到的分数等于分别合并左右区间得到的分数再加上最后一次合并得到的分数
DPDPDP的基本思想就是对于任意一个长度为lenlenlen的区间第一重循环我们尝试其所有可能的划分第三重循环找出其中的最大值
第二重循环它负责遍历每一个长度为lenlenlen的区间
而我们从小到大遍历lenlenlen保证了在动态规划过程中所有长度小于lenlenlen的区间最优结构已经得到所以DPDPDP是可行的
AC代码如下
#include iostream
using namespace std;
const int mod_num 1000003;
const int max_n 300;long long num[max_n 1][max_n 1], dp[max_n 1][max_n 1];
int n;int main() {cin n;for (int i 1; i n; i) cin num[i][i];for (int i 1; i n; i) {for (int j i 1; j n; j) {num[i][j] num[j][j];num[i]j % mod_num;}}for (int len 2; len n; len) {for (int l 1, r len; r n; l, r) {for (int k l; k r; k) {dp[l][r] max(dp[l][r], dp[l][k] dp[k 1]r * (num[l][k] - num[k 1][r]));}}}cout dp[1][n] endl;return 0;
}
T3 [Daimayuan]饿饿 饭饭2C数学
接着《饿饿 饭饭》 的故事在两天后食堂的工作人员回来了整个食堂又回到了原来井井有条的状态。
两个月后由于天气越来越热大家的胃口越来越小了作为食堂管理员的CCCCCC非常担心孩子们的身体健康所以他决定开展一个活动来调动孩子们吃饭的积极性顺便考验一下孩子们的数学水平。活动内容如下
先让每一个孩子都抽一个球每一个球上有一个数字 然后给这个孩子nnn个数字每一个孩子都有无数次操作机会每一次都会选中一个数将它乘上222或者乘上333请问这个孩子可以通过上面的操作将这nnn个数都变成相同的吗
如果回答正确这个回答正确的孩子就可以得到一份免费的午餐但是这对于孩子们来说是在是太困难了但是他们都想吃到免费的午餐所以他们都想请你告诉他们正确的答案让他们都迟到免费的午餐。
输入格式
第111行给定一个数TTT表示有TTT个小孩子请你告诉他正确的答案。
第222到T1T1T1行第111个数是每个孩子抽到的数字nnn第222到n1n1n1个数是对应的nnn个数字。
输出格式
如果可以变成相同的输出YES。如果不能变成相同的输出NO。
数据规模
1≤T≤100,1≤n≤2×105,1≤ai≤1091≤T≤100,1≤n≤2×10^5,1≤ai≤10^91≤T≤100,1≤n≤2×105,1≤ai≤109
数据保证∑i1Tn≤2×105\sum^{T}{i1}{n}≤2×10^5∑i1Tn≤2×105
样例输入
2
4 75 150 75 50
3 100 150 250样例输出
YES
NO解题思路
将每个数字拆解成两部分的乘积2、32、32、3和其他数字
我们尝试把所有数字的第一部分除去如果剩余部分相等输出YES
反之输出NO
AC代码如下
#include iostream
using namespace std;
const int max_t 100;
const int max_n 2e5;
const int max_a 1e9;int t, n;
int num_arr[max_n];int main() {cin t;for (int i 0; i t; i) {cin n;for (int j 0; j n; j) {cin num_arr[j];while (num_arr[j] % 2 0) num_arr[j] / 2;while (num_arr[j] % 3 0) num_arr[j] / 3;}int j, same num_arr[0];for (j 1; j n; j) if (numarr[j] ! same) break;if (j ! n) cout NO endl;else cout YES endl;}return 0;
}
T4 [Daimayuan]子串分值和C字符串
对于一个字符串 SSS 我们定义 f(S)f(S)f(S) 为 SSS 中出现的不同的字符个数。 例如 f(aba)2f(aba)2f(aba)2f(abc)3f(abc)3f(abc)3,f(aaa)1f(aaa)1f(aaa)1。
现在给定一个字符串 SSS (假设长度为 lenlenlen)请你计算 ∑i0len−1∑jilen−1f(S[i:j])\sum{i0}^{len−1}\sum_{ji}^{len−1}f(S[i:j])∑i0len−1∑jilen−1f(S[i:j]) 。
输入格式
输入一行包含一个由小写字母组成的字符串 SSS 。
输出格式
输出一个整数表示答案。
样例输入
ababc样例输出
28数据规模
所有数据保证字符串长度 len≤1000000len≤1000000len≤1000000字符串下标从 000 到 len−1len−1len−1。
解题思路
直接正面求解每一个字符串的分值显然会TLETLETLE那么尝试其他方法
我们的想法是单独处理每一个字符的分值然后累加起来
直接去找该字符出现在多少字符串中并不容易正难则反我们尝试去寻找该字符没有出现在多少字符串中
举个例子ababc其中a没有出现的字符串显然只有b,b,c,bc
所以想要找到所有没有出现a的字符串我们只需要保存a出现过的每一个位置然后根据间隔字符串长度计算即可
AC代码如下
#include iostream
#include vector
using namespace std;
const string alpha abcdefghijklmnopqrstuvwxyz;
const int max_len 1e6;vectorintvocab[26];
long long ans 0;inline long long calc(long long num) {return num * (num 1) / 2;
}int main() {string str;cin str;int len str.size();for (int i 0; i len; i) {vocab[str[i] - a].push_back(i);}for (char c : alpha) {long long sum calc(len);if (!vocab[c - a].empty()) {int l 0;auto iter vocab[c - a].begin();while (iter ! vocab[c - a].end()) {sum - calc(*iter - l);l *iter 1; iter;}sum - calc(len - l);ans sum;}}cout ans endl;return 0;
}
后排提醒要开long long否则会炸
T5 [Daimayuan]蒟蒻CSTL
便利蜂的货架上摆了一排蒟蒻果冻搞得鶸尛鱻眼花缭乱…
对于每个果冻都有一个价格 www 和口感 ttt。鶸尛鱻有一个购物篮子在挑选蒟蒻果冻的时候他有以下几种操作
操作 111把一个价格为 www口感为 ttt 的果冻放入篮子。操作 222拿出篮子中 最为廉价 的果冻。操作 333拿出篮子中 口感最差 的果冻。ttt 越小口感越差
鶸尛鱻不喜欢重复当操作 111 的 价格或口感 与篮中已有果冻重复时他会立刻将其放回货架。
经过 nnn 次操作后鶸尛鱻确定了要购买的若干果冻请你帮他求出篮子里果冻的总价格。
输入格式
第 111 行一个正整数 nnn代表操作次数。
第 222 行至第 (n1n1n1)(n1n1n1) 行每行 一个或三个 整数分别表示 opopopwwwttt。
www 和 ttt 当且仅当 op1op1op1 时存在。
输出格式
输出一个整数表示篮子里果冻的总价格。
样例输入
6
1 1 1
1 2 5
2
1 3 3
3
1 5 2样例输出
7数据规模
所有数据保证 1≤n≤1051≤n≤10^51≤n≤1051≤w,t≤1061≤w,t≤10^61≤w,t≤106且保证输入合法。
解题思路
需要维护两个顺序一个是价格的升序排序一个是口感的升序排序
显然需要维护两个数组关键在于使两个数组维持同步
利用map的erase操作可以根据键值删除元素的性质可以很容易实现这一点
AC代码如下
#include iostream
#include map
using namespace std;
const int max_n 1e5;
const int max_w 1e6;
const int max_t 1e6;mapint, intm1, m2;
int w, t, n, op;
long long ans;int main() {cin n;for (int i 0; i n; i) {cin op;if (op 1) {cin w t;if (m1.count(w) 0 m2.count(t) 0) {m1[w] t;m2[t] w;}}else if (op 2) {m2.erase(m1.begin()-second);m1.erase(m1.begin());}else {m1.erase(m2.begin()-second);m2.erase(m2.begin());}}for (auto it : m1) {ans (long long)(it.first);}cout ans endl;return 0;
}
T6 [Daimayuan]锦标赛C模拟
有nnn个玩家参加比赛他们分别有能力值a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an。
需要进行n−1n−1n−1轮比赛每一轮在剩下的玩家里任选两个玩家i,ji,ji,j。如果∣ai−aj∣K|a_i−a_j|K∣ai−aj∣K那么其中能力值高的玩家会获胜能力值低的玩家会被淘汰。如果∣ai−aj∣≤K|ai−aj|≤K∣ai−aj∣≤K那么两个玩家都有可能获胜另一个玩家被淘汰。
n−1n−1n−1轮比赛之后只剩下一个玩家。问有多少个玩家可能是最后获胜的玩家。
输入格式
第一行两个整数n,Kn,Kn,K表示玩家的总人数和获胜条件中的参数。
接下来一行nnn个整数a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an表示玩家的能力值。
输出格式
一个整数表示最后可能获胜的玩家个数。
样例输入1
5 3
1 5 9 6 3样例输出1
5样例输入输出2
见下发文件。
数据规模
共101010组数据。
测试点111满足n≤5n≤5n≤5。
测试点222满足n≤10n≤10n≤10。
测试点3,4,53,4,53,4,5满足n≤1000n≤1000n≤1000。
对于100100100%的数据满足n≤105n≤10^5n≤105,1≤ai,K≤1091≤a_i,K≤10^91≤ai,K≤109。
解题思路
能力值越高的越容易获胜这是显然的
如果我们要计算最多有多少人可能获胜自然要求出能获胜的最低能力值是多少
题目中给出了一个能够以弱胜强的最大能力差值KKK能力差值大于KKK的时候弱的一方不可能获胜
所以我们让能力值大的先开始比赛每次比赛都让能力值小的一方获胜前提是能获胜
最后当能力值小的一方不可能获胜的时候我们就得到了最多有多少人可能获胜
AC代码如下
#include iostream
#include algorithm
using namespace std;
const int max_n 1e5;
const int max_a 1e9;
const int max_k 1e9;int n;
long long k, gamer[max_n 1];int main() {cin n k;for (int i 1; i n; i) {cin gamer[i];}sort(gamer 1, gamer 1 n, greaterlong long());long long ans 1;long long buffer gamer[1];for (int i 2; i n; i) {if (buffer - gamer[i] k) {ans;buffer gamer[i];}else break;}cout ans endl;return 0;
}
T7 [Daimayuan]可重排列C字符串
请按字典序从小到大的顺序输出所有序列满足序列中有 p1p_1p1 个 111, p2p_2p2 个 222, ……… , pnp_npn 个 nnn。
输入格式
第一行一个整数 nnn。
第二行 nnn 个整数 p1p_1p1,p2p_2p2,…,pnp_npn。
输出格式
按字典序从小到大的顺序一行一行输出所有满足条件的序列每行一个序列相邻两个数字需要用空格隔开。
样例输入
3
1 2 2样例输出
1 2 2 3 3
1 2 3 2 3
1 2 3 3 2
1 3 2 2 3
1 3 2 3 2
1 3 3 2 2
2 1 2 3 3
2 1 3 2 3
2 1 3 3 2
2 2 1 3 3
2 2 3 1 3
2 2 3 3 1
2 3 1 2 3
2 3 1 3 2
2 3 2 1 3
2 3 2 3 1
2 3 3 1 2
2 3 3 2 1
3 1 2 2 3
3 1 2 3 2
3 1 3 2 2
3 2 1 2 3
3 2 1 3 2
3 2 2 1 3
3 2 2 3 1
3 2 3 1 2
3 2 3 2 1
3 3 1 2 2
3 3 2 1 2
3 3 2 2 1数据规模
对于 100100100% 的数据保证 1≤n≤91≤n≤91≤n≤9,1≤pi≤91≤p_i≤91≤pi≤9保证满足条件的序列个数不超过 10510^5105 个。
解题思路
这里我们隆重介绍一个新的偷懒工具next_permutation和prev_permutation
传入的参数是数组的起止位置指针功能是对数组本身操作得到下一个/上一个字典序排列
然后怎么做就不用我说了吧qwqqwqqwq
AC代码如下
#include iostream
#include algorithm
using namespace std;void read(string str) {int n1, n2;cin n1;for (int i 1; i n1; i) {cin n2;str.append(n2, i 0);}
}int main() {string str ; read(str);int len str.size();do {for (int i 0; i len; i) printf(%c , str[i]);printf(\n);}while (next_permutation(str.begin(), str.end()));return 0;
}
T8 [Daimayuan]进制转换C
题面
让我看看是谁不会进制转换哦原来是我 以不同进制的形式输入 nnn 个非负整数求出它们的和并以 mmm 进制的形式输出。
使用大写字母 A ~ Z 依次代表 101010 ~ 353535 小写字母 a ~ z 依次代表 363636 ~ 616161。
输入格式
第一行输入两个整数 1≤n≤101≤n≤101≤n≤10 2≤m≤622≤m≤622≤m≤62 。
接下来 nnn 行每行输入一个整数 2≤t≤622≤t≤622≤t≤62 一个 ttt 进制数 0≤x≤1090≤x≤10^90≤x≤109。
输出格式
一个 mmm 进制数为最终的结果
输入样例1
2 2
2 1
6 10输出样例1
111输入样例2
1 10
52 aA0输出样例2
97864输入样例3
2 52
36 AMD
52 YES输出样例3
dJD解题思路
由任意进制转换为十进制
遍历每一位上的数字乘以其位权重累加
由十进制转换为任意进制
对十进制数进行取模余数插入转换后结果的左侧然后将十进制数除以101010循环操作直到十进制数为000
AC代码如下
#include iostream
#include map
#include string
using namespace std;
const int max_n 10;
const int max_m 62;
const int max_t 62;
const int max_len 64;
const string sign_set 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz;int n, t;
long long m;
string num;
mapchar, intconvert;
char output[max_len 1];void init() {int len sign_set.size();for (int i 0; i len; i) {convert.insert(pairchar, int(sign_set[i], i));}
}int main() {init();cin n m;long long decimal 0;for (int i 0; i n; i) {cin t num;int p 1;int len num.size() - 1;for (int i len; i 0; i–) {decimal (long long)(convert[num[i]] * p);p * t;}}int idx max_len - 1;while (decimal ! 0) {output[idx–] sign_set[decimal % m];decimal / m;}cout (output[idx]) endl;return 0;
}
T9 [Daimayuan]循环子串C字符串
题目描述
一个字符串SSS是另一字符串TTT的循环子串当且仅当存在kkk, TTT所有字符循环右移kkk位后得到的新串T′T′T′满足SSS是T′T′T′的子串。
例如: abc 是 cefab的循环子串。 (cefab循环右移222位得到abcef, abc是abcef的子串)
一个串PPP是完全循环串当且仅当对于它的任一子串HHH, 都有HreverseHreverseHreverse是PPP的循环子串 (HreverseHreverseHreverse 为 HHH的倒转, 如abc reversereversereverse后 为cba)。
给一个长度为nnn的字符串, 判断它是不是完全循环串。
输入格式
第一行一个正整数ttt, 表示测试数据组数。
对于每一组数据第一行一个正整数nnn, 表示字符串的长度。接下来一行一个长度为nnn的字符串. 仅包含小写字母。
输出格式
对于每组测试数据如果这个串是完全循环串, 输出YES否则输出NO。每组测试数据之间输出换行。
数据范围
对于所有数据 有 1≤t≤1001≤t≤1001≤t≤100, 1≤n≤1031≤n≤10^31≤n≤103, ∑n≤103\sum n≤10^3∑n≤103。
样例输入
2
4
ccca
11
eeaafbddfaa样例输出
YES
NO提示 本道题目只需要语法知识就可以解决。 任意子串是什么意思呢 如果一个子串包含另一个子串那么我们是不是只需要求出大子串的合法情况就可以推出小子串的合法情况。 从大的子串向小的子串考虑 最大的子串是什么呢
解题思路
假设abc是循环子串那么cba也应该是循环子串则有abccba***
*注这里将abc与cba调换也可以*的数量可以是任意的
进一步假设abcd是循环子串则有*abcd*dcba*
不难发现如果abcd是循环子串则abc自然也是循环子串
所以我们只需要证明最大的循环子串符合条件即可
也就是将给定字符串反转然后寻找其是否存在
而对于可以循环右移的字符串我们只需要将其复制然后拼接在处理之后的字符串中寻找即可
AC代码如下
#include iostream
#include string
#include algorithm
using namespace std;
const int max_t 100;
const int max_n 1e3;string str;
int t, len;int main() {cin t;for (int i 0; i t; i) {cin len str;string rev str;reverse(rev.begin(), rev.end());str str str;if (str.find(rev) ! -1)cout YES endl;elsecout NO endl;}return 0;
}
T10 [Daimayuan]饿饿 饭饭之暑假大狂欢C数学
故事接着《饿饿 饭饭 2》又过了几个月暑假来啦
这天cccccc和他的小伙伴们决定一起去游乐园玩他们一天将游乐园的所有设施玩了个遍甚至大摆锤过山车他们还去了很多次愉快的时间总是很短暂的很快时间就来到了晚上但是你以为一天的娱乐时光就这样结束了吗那你就猜错啦。
晚上游乐园晚上的partypartyparty就开始啦其中有一个游戏环节赢的人可以得到免费的西瓜饿到不行的cccccc和他的小伙伴非常希望得到这个西瓜。
包括cccccc和他的小伙伴有ttt个玩家参与了这个游戏每个玩家都有一张带有数字的卡片。第iii张卡片上有nin_ini个数字分别是m1,m2,…mnm_1,m_2,…m_nm1,m2,…mn。
游戏过程中主持人从袋子里一个一个地取出编号的球。 他用洪亮而清晰的声音大声念出球的编号然后把球收起来。 如果玩家的卡片上有对应的数字就可以将它划掉。 最先从他的卡片上划掉所有数字的人获胜。 如果多人同时从他们的卡片上划掉所有数字那么这些人都不能赢得比赛。 在游戏开始时袋子里有 100100100 个球编号从 111 到 100100100所有球的编号都是不同的。
cccccc偷偷知道了每个玩家的数字。 想请你确定每个玩家是否可以在最有利于他的情况下赢得比赛。
输入格式
第一行给出一个数ttt代表ttt个玩家。
接下来第二行到t1t1t1行每行第一个数为nin_ini代表这个人手中有nnn个卡片接下来给出序列a1…ana_1…a_na1…an表示这个人所拥有的卡片的数字。
输出格式
输出ttt行每一行给出第iii个人在最有利的情况下是否能赢得比赛可以输出YES, 不可以输出NO。
数据范围
1≤t≤100,1≤n≤100,1≤mi≤1001≤t≤100,1≤n≤100,1≤m_i≤1001≤t≤100,1≤n≤100,1≤mi≤100
样例输入
3
1 1
3 2 4 1
2 10 11样例输出
YES
NO
YES解题思路
不难发现如果有一个人不能获胜那么一定是有其他人的数字集合是他的子集注由于可以一次性划去多个数字重复个数字直接按单个数字处理即可
那么采用最简单的判断思路——暴力搜索
计算一下时间复杂度最多需要判断100100100个人对于每个人需要搜索其余999999个人每人最多有100100100个数字所以时间复杂度上限是10610^6106可以接受
所以我们可以采用二维bool数组存储每一个人数字然后进行||的操作
num_arr[i][k] ! (num_arr[i][k] || num_arr[j][k])
当且仅当num_arr[i][k]没有k数字为falsefalsefalse且num_arr[j][k]有k数字为truetruetrue时表达式为真
如果表达式为真就可以停止判断了因为二者有不同的元素如果表达式始终为假那么就说明j的数字集合是i的子集i不可能获胜
AC代码如下
#include iostream
using namespace std;
const int max_n 100;
const int max_len 100;bool num_arr[max_n 1][max_len 1];
int n, m;int main() {cin n;for (int i 1; i n; i) {cin m;int num;for (int j 0; j m; j) {cin num;num_arr[i][num] true;}}for (int i 1; i n; i) {bool win true;for (int j 1; j n; j) {if (i j) continue;int k;for (k 1; k max_len; k) {if (num_arr[i][k] ! (num_arr[i][k] || num_arr[j][k])) {break;}}if (k max_len 1) {win false;break;}}if (win) cout YES endl;else cout NO endl;}return 0;
}
- 上一篇: 网站建设php培训学编程做网站
- 下一篇: 网站建设php文件html文件新会网站设计
相关文章
-
网站建设php培训学编程做网站
网站建设php培训学编程做网站
- 技术栈
- 2026年04月20日
-
网站建设php教程宁波seo运营推广平台排名
网站建设php教程宁波seo运营推广平台排名
- 技术栈
- 2026年04月20日
-
网站建设php的心得和体会百度竞价推广培训
网站建设php的心得和体会百度竞价推广培训
- 技术栈
- 2026年04月20日
-
网站建设php文件html文件新会网站设计
网站建设php文件html文件新会网站设计
- 技术栈
- 2026年04月20日
-
网站建设php文件放哪里dz做电影网站
网站建设php文件放哪里dz做电影网站
- 技术栈
- 2026年04月20日
-
网站建设ps模板seo引流赚钱吗
网站建设ps模板seo引流赚钱吗
- 技术栈
- 2026年04月20日
