摘要: 题意:输入字符串(单词表, 每行不超过10字符), 读到空行结束; 输入询问(字符串),处理到文件末尾, 对每次询问输出单词表中以该字符串为前缀的单词个数。 首先要解决的是读到空行结束的问题:每行都是以 '\n' 为结尾, 统计字符 ‘\n’的个数, 若连续出现两次则退出 其次是前缀, 不超过10字 阅读全文
posted @ 2019-04-23 14:20 op-z 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意:给一数字字符串s ( n=s.size()<=1000 ) 和数字m (<1e5) 求s%m 模拟除法, k初值0,按s[0]...累乘相加,把字符串还原成数字,比m大时-m,继续按位还原到s[n-1] 此时剩下的k再%m即为所求 #include<iostream> #include<cst 阅读全文
posted @ 2019-04-22 17:11 op-z 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题意:n种糖果, 每种a[i]个, 每次吃一颗,要求连续吃的两颗种类不同,问是否存在一种顺序能吃完所有糖果 抽屉原理 能否吃完与个数最多的糖果(mx)有关,要吃完mx个至少需要其他种类糖果mx-1个, 设s=a[0]+...+a[n-1]-mx; if 其他种类糖果个数不满足要求, 则不能吃完所有糖 阅读全文
posted @ 2019-04-22 16:50 op-z 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 题意:问是否存在序列n的某子序列之和是m的倍数 首先求每位%m后的前缀和 【 (a+b)%k == (a%k +b%k)%k】, a[i]=(a[i]+a[i-1])%m,若出现余数为0,则子序列存在 统计每个余数出现的次数,若出现两个相同余数 即a[k] == a[i] k>i, 或n>m(抽屉原 阅读全文
posted @ 2019-04-20 23:21 op-z 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题意:给一组数据a[0]...a[n], n<5e6, a[i]<2^31-1(1e9)判断是否存在三角形数 首先想到的是排序,若a[i]+a[i+1]>a[i+2] , 则存在三角形数, 但5e6的范围 肯定会T 借用杭师大某题思路 先构造最小不可能序列 a+b=c: 1 2 3 ;2 3 5;3 阅读全文
posted @ 2019-04-20 12:31 op-z 阅读(99) 评论(0) 推荐(0) 编辑