2016"百度之星"-资格赛】的更多相关文章

看题:http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=690 交题:http://acm.hdu.edu.cn/search.php?field=problem&key=2016%22%B0%D9%B6%C8%D6%AE%D0%C7%22+-+%D7%CA%B8%F1%C8%FC%A3%A8Astar+Round1%A3%A9&source=1&searchmode=source Solved Pro.ID Tit…
原文链接:https://www.dreamwings.cn/hdu5688/2650.html Problem D Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 247    Accepted Submission(s): 174 Problem Description 度熊所居住的 D 国,是一个完全尊重人权的国度.以至于这个国家…
原文链接:https://www.dreamwings.cn/hdu5686/2645.html Problem B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 403    Accepted Submission(s): 136 Problem Description   度熊面前有一个全是由1构成的字符串,被称为全1序列.你可以…
原文链接:https://www.dreamwings.cn/hdu5685/2637.html Problem A Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 504    Accepted Submission(s): 195 Problem Description 度熊手上有一本字典存储了大量的单词,有一次,他把所有单词组成了…
逆元 1001 Problem A 求前缀哈希和逆元 #include <bits/stdc++.h> typedef long long ll; const int MOD = 9973; const int N = 1e5 + 5; int inv[MOD+5]; int ha[N]; char str[N]; int n; void Inv(int n, int p) { inv[1] = 1; for (int i=2; i<=n; ++i) { inv[i] = (ll) (p…
//本题要求:(Ar*A2...An)%p,亦即[(A1*A2*...An)/(A1*A2*...Ar-1)]%p,由于A1*A2...An乘积过大,无法求得相除所得的结果 //我们需要用到乘法逆元(a*k≡1 (mod p)的k值就是a关于p的乘法逆元),而乘法逆元有如下定理®:(a*k) mod p结果与(a/b) mod p等价,其中k为b关于p的乘法逆元 //而由费马小定理(已知p是质数且gcd(a, p) = 1,则 ap-1 ≡ 1 (mod p),  所以 a*ap-2 ≡ 1 (…
思路:题目很简单,直接用map记录每个字符串的个数就可以了.记得对每个字符串先sort(). AC代码: #include <cstdio> #include <stdlib.h> #include <cstring> #include <iostream> #include <map> #include <algorithm> using namespace std; const int MAX_N = 44; char name[…
思路:第一个做法就是:每读入起始位置i和结束位置j,就从这位置i到位置j计算,可是TLE了,后面我想想要是我输入一个最长的字符串,且以最大次数计算开始位置1到结束位置100000,那么这计算量是很大的而且还是重复的. 第二种就是:我先把这个字符串每个位置i到位置j的哈希值都计算出来,然后储存起来,可是字符串最大长度是100000,所以这个n*n的复杂度,当然还是TLE了. 最后还是想到了线段树,而且这题还是裸的线段树,然后写出来了,可是我交了好多次都是RE!很无奈,然后看到该题的讨论版里面提到,…
简单模拟题,耐心写就能过. #include <stdio.h> #include <math.h> #include<cstring> #include<cmath> #include<map> #include<string> #include<algorithm> #include<vector> using namespace std; ; int n; struct X { ]; ],R[]; } h…
字典树. 插入的时候update一下节点出现的次数. delete的时候,先把前缀之后的全删了.然后看前缀最后一个节点出现了几次,然后前缀上每个节点的次数都减去这个次数. 前缀从上到下再检查一遍,如果出现了次数为0的节点,也删去. #include <stdio.h> #include <math.h> #include<cstring> #include<cmath> #include<map> #include<string> #…