摘要:
"Codeforces 785 D.Anton and School 2" 题目大意:从一串由“(”,“)”组成的字符串中,找出有多少个子序列满足:序列长度为偶数,且前n/2个为“(”,后n/2个为“)”; 思路:枚举每一个左括号,则以该左括号为左右分界的子序列个数为∑C(L 1,i)C(R,i+1 阅读全文
摘要:
"Codeforces 785 E. Anton and Permutation" 题目大意:给出n,q。n代表有一个元素从1到n的数组(对应索引1~n),q表示有q个查询。每次查询给出两个数l,r,要求将索引为l,r的两个数交换位置,并给出交换后数组中的逆序对数。 思路:此题用到了分块的思想,即将 阅读全文
摘要:
"Codeforces 981 D.Bookshelves" 题目大意: 给n个数,将这n个数分为k段,(n,k include include include include include include include include include include using namespa 阅读全文
摘要:
"Codeforces 963 A. Alternating Sum" 题目大意:给出一组长度为n+1且元素为1或者 1的数组S(0~n),数组每k个元素为一周期,保证n+1可以被k整除。给a和b,求 对1e9+9取模的结果 思路:容易想到,每个周期的∑组成的数列成等比,公比q=(b/a)^k,因此 阅读全文
摘要:
"Codeforces 979 D. Kuro and GCD and XOR and SUM" 题目大意:有两种操作:①给一个数v,加入数组a中②给出三个数x,k,s;从当前数组a中找出一个数u满足 u与x的gcd可以被k整除,u不大于s x,且与x的异或和最大。 思路:之前没有碰到过异或和最值的 阅读全文
摘要:
之前在做一道关于字符串匹配的题时,用到了 "字典树" ,但那时是用指针实现的,这次又遇到需要使用字典树这一结构的题,向学姐要了她的板子,学习了用数组实现的方法,对于解题而言,更为简短快速。 因为题目要求最大异或和,因此用的是01字典树,在字典树的基础上稍作修改。 以下为字典树和01字典树的普遍实现: 阅读全文
摘要:
"Codeforces 965 D. Single use Stones" 题目大意: 有一条河宽度为w,河上有一些石头,给出一组数(编号1~w 1),其中a[i]代表与河一岸距离为i的石头数量。每只青蛙的跳跃距离为l(l include include include using namespac 阅读全文
摘要:
"Codeforces 731 F. Video Cards" 题目大意:给一组数,从中选一个数作lead,要求其他所有数减少为其倍数,再求和。问所求和的最大值。 思路:统计每个数字出现的个数,再做前缀和,用于之后快速求和。将原数组排序后去重,枚举每一个数做lead的情况下,其余数减少后再求和的结果 阅读全文
摘要:
"CodeForces 369E Valera and Queries" 题目大意:给出n个线段(线段的左端点和右端点坐标)和m个查询,每个查询有cnt个点,要求给出有多少条线段包含至少其中一个点。 思路:如果按照题意正面去算有每个线段是否包含点,那么时间复杂度是不允许的;如果去算每个点被哪些线段包 阅读全文
摘要:
"Codeforces 385C Bear and Prime Numbers" 其实不是多值得记录的一道题,通过快速打素数表,再做前缀和的预处理,使查询的复杂度变为O(1)。 但是,我在统计数组中元素出现个数时使用了map,以至于后面做前缀和的累加时,每次都要对map进行查询,以至于TLE。而自己 阅读全文