01 2021 档案
摘要:思路如下: 每个 word 视为一个键,然后每枚举一个该键字符,该键相对应的值就加一。即取 string 到 int 的映射 /* 伪码 */ for (枚举每个字符) { if (当前字符是 alpha cha) { if (是大写) 键 = 键 + 其小写 else 键 = 键 + *it }
阅读全文
摘要:思路如下: 由于「相似度 = 共有元素 / 所有元素」 我的思路是「共有元素 = 两集合所有元素 - 两集合不重复元素」,比如集合一 {87, 99 , 101},集合二去重后 {5, 87, 101} 共 6 个元素,而两集合不重复元素 {5, 87, 99, 101} 共 4 个元素,那么这两个
阅读全文
摘要:如何判断两个串是否相等? 如图所示,观察题目给的 sample。只要红色方框和红色圈圈中这两部分内容相同那就可以下结论这两个串相等,其中: 红色方框内容比较直观,就是从第一个有效位开始至到 n 位 而红色圈圈内容可能不太容易看出,但其实是和第一个有效位以及小数点有关的,这里就是「小数点 - 第一个有
阅读全文
摘要:本来这道题思路很简单(思路见代码注释),但由于设置了内存限制,暴力解会超时 //第一次提交超时#include <cstdio> #include <cstring> #define MAX_STU 26 * 26 * 26 * 10 static struct cou_t { int nam[20
阅读全文
摘要:思路是将正数和负数分开求解,如下: 1. 对正数部分求乘积:i, j 从头开始遍历,当二者之一遇到负数就退出 2. 记录第一个负数出现的位置,然后 i, j 改为两数组最后一个元素。 因为负数是绝对值大的排序排在后面,求乘积先取大的,所以从后往前遍历: 3. 对负数部分求乘积,原理同1 伪码如下:
阅读全文
摘要:思路如下: /* 伪码 *///1. 输入并区分 N1 还是 N2,略//2. 求另一个数的最小进制:位序列上最大的数while (遍历另一个数所有的位) { 这一位的数值 = hash_val(这一位的字符); if (该位数值比其他所有的位的数值都要大) 更新这个数的进制}//3. while
阅读全文
摘要:思路如下 /* 伪码 */ //1. 读入 shop_owner 拥有的小球并记录哈希值 while (ch = scanf()) hash_val(ch)++; //2. 读入 eva 拥有的小球并进行相应处理 while (ch = scanf()) { hash_val(ch)--; if (
阅读全文
摘要:1. 输入:暂存两个串 2. 执行:逐个遍历 typed-out 串,将每个字符转哈希 /* 伪码 */while (*s) { index = 求哈希值(*s); hash_table[index] = true; s++; } 3. 输出:逐个遍历 original 串,对比当前字符的哈希值是否
阅读全文
摘要:0. "计算时间"的思路: 计算 T1~T2 的时间差我是分为 t0-T1 和 T2-tn 来算的,其中 t0、tn 是整点小时数 比如现在计算 07:00-05:59,我这里是 (06:00-05:59)+(07:00-07:00) 的思路————即 T1=05, T2=07, t0=06, tn
阅读全文

浙公网安备 33010602011771号