Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. #include <map>
  5. #include <algorithm>
  6. #include <iomanip>
  7. #include <cmath>
  8. #include <queue>
  9. #define pb push_back
  10. #define mp make_pair
  11.  
  12. #pragma GCC optimize("O3")
  13. long long pow(int a,int b) {
  14. if (b==0 || a==1) return 1;
  15.  
  16. if (b%2==0) { long long k=pow(a,b/2); return (k*k); }
  17. else { long long k=pow(a,b/2); return k*k*a; }
  18. }
  19. long long powmod(long long a,long long b,long long mod) {
  20. if (b==0 || a==1) {if (mod==1) return 0; else return 1; }
  21.  
  22. if (b%2==0) { long long k=powmod(a,b/2,mod); return (k*k)%mod; }
  23. else {long long k=powmod(a,b/2,mod); return ( (k*k) %mod *a)% mod; }
  24. }
  25. long long gcd(long long a, long long b) {
  26. if (a==0) return b;
  27. if (b==0) return a;
  28. if (a>b) return gcd(a%b,b); else return gcd(b%a,a);
  29. }
  30. int prime(int p) { // 1 - простое
  31. for (int i=2;i*i<=p;i++) {
  32. if (p%i==0 && i<p) return 0;
  33. }
  34. return 1;
  35. }
  36. long long sqr(long long i) {
  37. return i*i;
  38. }
  39. using namespace std;
  40. long long pows[200000];
  41. int pref[200000];
  42. long long mod=1000000007;
  43. long long p=29;
  44. long long hash(int l,int r) {
  45. return pref[r]-pref[l-1];
  46. }
  47. signed main() {
  48. ios_base::sync_with_stdio(0);
  49. cin.tie(0);
  50. cout.tie(0);
  51.  
  52. /* --------- */
  53.  
  54. string s;
  55. cin>>s;
  56. int n=s.size()+4;
  57.  
  58.  
  59. pows[0]=1;
  60. for (int i=1;i<n;i++) pows[i]=(pows[i-1]*p)%mod;
  61.  
  62. pref[0]=s[0]-'a';
  63. for (int i=1;i<s.size();i++) {
  64. pref[i]=(pref[i-1]+(s[i]-'a')*pows[i])%mod;
  65. }
  66. int q;
  67. cin>>q;
  68. vector <pair<int,int>> m(q);
  69. for (int i=0;i<q;i++) { cin>>m[i].first>>m[i].second;
  70. m[i].first--;
  71. m[i].second--;
  72. int u=m[i].second-m[i].first;
  73. l1=m[i].second;
  74. r2=m
  75. int l1,l2,r1,r2;
  76. if (u%2==0) {
  77. l1=
  78. }
  79. long long hash1=hash()
  80. }
  81.  
  82. /* --------- */
  83. return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement