答题细节
细节决定成败
小白小郑
不能模仿谁,只能做自己。
展开
-
天梯题集——冰岛人(隐藏条件:考虑嫡系)
前文愿天下有情人都是失散多年的兄妹 与 冰岛人 解题思路几乎是同理的,不过这里需要考虑多一个是否嫡系的关系。(卡了我好久、又来一个隐藏条件,长知识、长知识…)。用递归实现很容易出现超时,循环果然比递归效率高。循环与递归效率的比较冰岛人解题难点①、记录数据——映射+结构体struct node{ string fa; int sex;};map <string, node> num;第一次把映射和结构体结合起来,查询方便了许多。②、判断 m1 与 m2 是否原创 2020-11-27 16:49:42 · 402 阅读 · 0 评论 -
天梯题集——愿天下有情人都是失散多年的兄妹(隐藏条件)
愿天下有情人都是失散多年的兄妹解题思路利用结构体读入每个 ID 下数据隐藏条件:标记父母的性别 (卡死个人)假设判断 a,b 是否可通婚同性输出 “Never Mind”不同性 bfs标记 a 的五代内的祖先 check检查 b 五代内的祖先 b 五代内的祖先被标记过 输出“No” b 五代内的祖先全部未被标记过 输出“Yes”#include<bits/stdc++.h>using namespace std;bool judge[100010];int原创 2020-11-26 13:10:54 · 221 阅读 · 0 评论 -
基础算法题——[EZEC-3] 排序(特判)
[EZEC-3] 排序解题思路①、题意:希望组成一个环,环上不同两个数字,而且每两个相邻的数字的绝对值 k 必须相同的。②、我们只要选择两个符合条件数字,以数量最少的数字作为环上元素的数量的 1/2。注意特判 k==0 a[i]==1的情况,题目要求环的数量至少为 2 。#include<bits/stdc++.h>#define ll long longusing namespace std;int a[1000001];bool b;ll n, k, um=0, mx;原创 2020-10-29 09:34:05 · 253 阅读 · 0 评论 -
基础算法题——dousha的篮球(特判)
dousha的篮球解题思路①、每次改变字符串,连续 ‘1’ 的区间数量,有三种情况:增加一次、减少一次或不变。②、通过特判,找到影响连续 ‘1’ 的区间数量的变化情况。ps:输入、输出较大,建议用scanf()与printf().#include<bits/stdc++.h>using namespace std;char s[1000010];int main(){ int n, q, flag=0, cnt=0; scanf("%d%d%s", &n, &原创 2020-10-29 11:14:16 · 344 阅读 · 0 评论 -
基础算法题——帅到没朋友(唯一性)
帅到没朋友当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。注意:没有朋友的人可以是根本没原创 2020-10-29 08:55:32 · 135 阅读 · 0 评论 -
C/C++编程小知识(杂记)
条件与:&&if(x && y):先判断 x 是否为 true。若 x 为 true ,再接着判断 y,若 x 为 false,则不用判断 y 直接跳过 if 语句内容。易出错点:数组或内存溢出 (RE:Runtime Error)举例说明:正确代码//逆序输出前4个arr元素不为0的数//若小于0则不输出#include<stdio.h>int arr[10]={-1,2,3,4,5,6}, n=3;int main(){ for(int i原创 2020-07-25 10:06:43 · 73 阅读 · 0 评论 -
加速读取——三式(getchar,std::ios::sync_with_stdio(false)、cin.tie(0))
在一些题目中会出现数据输入很大的情况,如果我们运用不好读取数据工具的话,那么很可能会在读取数据上花费较多的时间,甚至还没读完就超时了。读取速度:cin << scanf ≈ cin(关闭流同步) << getchar()cin(关闭流同步)为什么scanf的读入数据的能力大于cin(未关闭流同步)?C++中,cin和cout要默认与stdio同步。在cin、cout输入输出下,会有进行缓冲同步stdio,使scanf()与printf()能够与cin、cout混用,也导致原创 2020-05-15 09:02:55 · 453 阅读 · 2 评论 -
基础算法题——移动字母(避免多次使用c++对象)
题目链接:牛客网给定一个只包含小写字母的字符串s,牛牛想将这个字符串中的所有’a’字母全部移动到字符串的末尾,而且保证其它字符的相对顺序不变。其中字符串s的长度<=1e6。示例1输入abcavv输出bcvvaa代码一:#include<bits/stdc++.h>using namespace std;string change(string s);int main(){ string s; cin>>s; cout<<c原创 2020-07-09 23:04:44 · 360 阅读 · 0 评论 -
基础算法题——奇怪的分式(避免小数运算)
奇怪的分式上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 乘以...原创 2020-03-27 16:58:26 · 133 阅读 · 0 评论