这个真的是一个 \(nb\) 题。

考试快要结束的时候,在机房中只能听到此起彼伏的撕吼。

啊~~~~~~~~~~

然后人们预测这自己的得分。

\(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\) \(\color{red}{\huge{0}}\)

然后,没有然后了。

一共一半左右爆 \(\color{red}{\huge{0}}\)

然后战神直接 \(\color{gold}{\huge{260}}\)

\(\huge{\text{ % % %}}\)

Emotional Flutter

一个细节很多很多的贪心题目,然后只有一个水的一批的样例。

然后自己用着假的暴力拍着假的正解然后使用假的数据生成器拍了一堆 \(\color{green}{\huge{Accepted}}\)

然后险些有分,反正就是这个题目抱零了。。。

贪心一下,然后注意细节就好。。

  1. #include<bits/stdc++.h>
  2. using std::cout; using std::endl;
  3. #define try(i,a,b) for(register signed i=a;i<=b;++i)
  4. #define throw(i,a,b) for(register signed i=a;i>=b;--i)
  5. #define asm(i,x) for(register signed i=head[x];i;i=edge[i].next)
  6. namespace xin_io
  7. {
  8. #define sb(x) cout<<#x" = "<<x<<' '
  9. #define jb(x) cout<<#x" = "<<x<<endl
  10. #define debug cout<<"debug"<<endl
  11. #define gc() p1 == p2 and (p2 = (p1 = buf) + fread(buf,1,1<<20,stdin),p1 == p2) ? EOF : *p1++
  12. char buf[1<<20],*p1 = buf,*p2 = buf; int ak; typedef long long ll; typedef unsigned long long ull;
  13. class xin_stream{public:template<typename type>inline xin_stream &operator >> (type &s)
  14. {
  15. register int f = 0;s = 0; register char ch = gc();
  16. while(!isdigit(ch)) {f |= ch == '-'; ch = gc();}
  17. while( isdigit(ch)) s = (s << 1) + (s << 3) + (ch xor 48),ch = gc(); return s = f ? -s : s,*this;
  18. }}io;
  19. }
  20. #define int long long
  21. using namespace xin_io; static const int maxn = 1e6+10,inf = 1e9+7; const ll llinf = 1e18+7;
  22. namespace xin
  23. {
  24. int l[maxn],r[maxn],sum[maxn];
  25. int T;
  26. class xin_data
  27. {
  28. private:
  29. friend bool operator < (xin_data x,xin_data y)
  30. {return x.l == y.l ? x.r < y.r : x.l < y.l;}
  31. public:
  32. int l,r;
  33. xin_data(){}
  34. xin_data(int l,int r):l(l),r(r){}
  35. }d[maxn]; int zhi = 0;
  36. inline short main()
  37. {
  38. io >> T;
  39. while(T--)
  40. {
  41. register int s,k,n,ok = 1; io >> s >> k >> n;
  42. zhi = 0;
  43. try(i,1,n)
  44. {
  45. register int x; io >> x;
  46. if(i & 1) x += s;
  47. else x -= s,x %= k;
  48. if(x > k) ok = 0;
  49. sum[i] = sum[i-1] + x;
  50. if(i & 1)
  51. l[i] = sum[i-1] + 1,r[i] = sum[i] - 1;
  52. // sb(l[i]); jb(r[i]);
  53. }
  54. if(!ok) {puts("NIE"); continue;}
  55. if(((n & 1) and sum[n] <= k) or (!(n & 1) and sum[n-1] <= k)) {puts("TAK"); continue;}
  56. for(register int i=1;i<=n;++i,++i)
  57. {
  58. register int temp_l = l[i] % k,temp_r = r[i] % k;
  59. if(temp_r < temp_l)
  60. d[++zhi] = xin_data(0,temp_r),d[++zhi] = xin_data(temp_l,k-1);
  61. else d[++zhi] = xin_data(temp_l,temp_r);
  62. }
  63. ok = 1;
  64. std::sort(d+1,d+zhi+1);
  65. if(d[1].l) {puts("TAK"); continue;}
  66. int maxx = 0;
  67. try(i,1,zhi)
  68. {
  69. if(maxx < d[i].l - 1) {puts("TAK"); ok = 0;break;}
  70. maxx = std::max(maxx,d[i].r);
  71. }
  72. if(!ok) continue;
  73. if(maxx < k - 1) puts("TAK");
  74. else puts("NIE");
  75. }
  76. return 0;
  77. }
  78. }
  79. signed main() {return xin::main();}

Medium Counting

这个计数题目看起来就不是很友好。。。。

我们考虑狂搜,然后抱零。

因为没有给任何狂搜的分数。

这么不给我 \(XIN\) 面子的嘛???

然后气展了。。。

然后应该是用记忆化来做。。

好办的很。。。

  1. #include<bits/stdc++.h>
  2. using std::cout; using std::endl;
  3. #define try(i,a,b) for(register signed i=a;i<=b;++i)
  4. #define throw(i,a,b) for(register signed i=a;i>=b;--i)
  5. #define asm(i,x) for(register signed i=head[x];i;i=edge[i].next)
  6. namespace xin_io
  7. {
  8. #define sb(x) cout<<#x" = "<<x<<' '
  9. #define jb(x) cout<<#x" = "<<x<<endl
  10. #define debug cout<<"debug"<<endl
  11. #define gc() p1 == p2 and (p2 = (p1 = buf) + fread(buf,1,1<<20,stdin),p1 == p2) ? EOF : *p1++
  12. #define cin std::cin
  13. int ak; typedef long long ll; typedef unsigned long long ull;
  14. #define scanf ak = scanf
  15. }
  16. #define int long long
  17. using namespace xin_io; static const int maxn = 1e6+10,inf = 1e9+7,mod = 990804011; const ll llinf = 1e18+7;
  18. namespace xin
  19. {
  20. int n,m;
  21. int f[55][51][51][30];
  22. int a[51][51];
  23. int xin_team(int l,int r,int p,int c)
  24. {
  25. register int &temp = f[l][r][p][c];
  26. if(~temp) return temp; if(r < l) return temp = 1;
  27. if(p > m) return temp = (l == r); if(c > 26) return temp = 0;
  28. temp = xin_team(l,r,p,c+1);
  29. try(i,l,r)
  30. {
  31. if(!(a[i][p] == c or (a[i][p] == 27 and c))) break;
  32. (temp += (xin_team(l,i,p+1,0) * xin_team(i+1,r,p,c+1)) % mod) %= mod;
  33. }
  34. return temp;
  35. }
  36. char s[maxn];
  37. inline short main()
  38. {
  39. scanf("%lld",&n);
  40. memset(f,-1,sizeof(f));
  41. try(i,1,n)
  42. {
  43. scanf("%s",s+1);
  44. int len = strlen(s+1);
  45. m = std::max(m,len);
  46. try(j,1,len) a[i][j] = (s[j] == '?') ? 27 : s[j] - 'a' + 1;
  47. }
  48. cout<<xin_team(1,n,1,0)<<endl;
  49. return 0;
  50. }
  51. }
  52. signed main() {return xin::main();}

Huge Counting

不会,先鸽了。。

字符消除2

题目就看了老半天。。。

我们用 \(KMP\) 求出来 \(next\) 数组就可以开始狂跳了。。

真好

  1. #include<bits/stdc++.h>
  2. using std::cout; using std::endl;
  3. #define try(i,a,b) for(register signed i=a;i<=b;++i)
  4. #define throw(i,a,b) for(register signed i=a;i>=b;--i)
  5. #define asm(i,x) for(register signed i=head[x];i;i=edge[i].next)
  6. namespace xin_io
  7. {
  8. #define gc() p1 == p2 and (p2 = (p1 = buf) + fread(buf,1,1<<20,stdin),p1 == p2) ? EOF : *p1++
  9. #define debug cout<<"debug"<<endl
  10. #define sb(x) cout<<#x" = "<<x<<' '
  11. #define jb(x) cout<<#x" = "<<x<<endl
  12. #define scanf ak = scanf
  13. typedef long long ll; typedef unsigned long long ull; int ak;
  14. }
  15. using namespace xin_io; static const int maxn = 1e6+10,ms = 2e5;
  16. namespace xin
  17. {
  18. char s[maxn];
  19. ull a[maxn],p[maxn];
  20. int T,n,temp;
  21. int next[maxn];
  22. int b[maxn];
  23. ull base = 13331;
  24. void kmp(int l,int r)
  25. {
  26. try(i,l+1,r)
  27. {
  28. while(temp and b[i] xor b[temp + 1]) temp = next[temp];
  29. if(b[i] == b[temp + 1]) temp ++;
  30. next[i] = temp;
  31. }
  32. }
  33. int q[maxn];
  34. inline short main()
  35. {
  36. scanf("%d",&T); p[1] = 1;
  37. try(i,2,ms) p[i] = p[i-1] * base;
  38. while(T--)
  39. {
  40. scanf("%s",s+1);
  41. memset(next,0,sizeof(int) * (n + 1));
  42. memset(b,0,sizeof(int) * (n + 1));
  43. q[0] = temp = 0;
  44. n = strlen(s+1);
  45. try(i,1,n) a[i] = a[i-1] * base + s[i] - 'A' + 1;
  46. try(i,0,n)
  47. if(a[i+1] == a[n] - a[n-i-1] * p[i + 2]) q[++q[0]] = i + 1;
  48. if(q[1] > 1) b[q[1]] = 1; kmp(1,q[1]);
  49. try(i,2,q[0])
  50. {
  51. if(q[i] <= q[i-1] * 2)
  52. {
  53. try(j,q[i-1]+1,q[i])
  54. b[j] = b[j + q[i-1] - q[i]];
  55. kmp(q[i-1],q[i]);
  56. }
  57. else
  58. {
  59. kmp(q[i-1],q[i] - q[i-1] - 1);
  60. register int now = temp,z = 1,len =q[i] - q[i-1];
  61. while(now)
  62. {
  63. if(!b[now+1] and !(len % (len - now - 1))) {b[len] = 1; break;}
  64. now = next[now];
  65. }
  66. if(!b[now+1] and !(len % (len - now - 1))) b[len] = 1;
  67. kmp(len - 1,len);
  68. next[len] = temp;
  69. len = q[i] - q[i-1];
  70. try(j,1,q[i-1]) b[len + j] = b[j];
  71. kmp(len,len+q[i-1]);
  72. }
  73. }
  74. try(i,1,n) cout<<b[i];
  75. cout<<endl;
  76. }
  77. return 0;
  78. }
  79. }
  80. signed main() {return xin::main();}

[考试总结]noip模拟44的更多相关文章

  1. 2021.8.19考试总结[NOIP模拟44]

    T1 emotional flutter 把脚长合到黑条中. 每个黑条可以映射到统一区间,实际操作就是左右端点取模.长度大于$k$时显然不合法. 然后检查一遍区间内有没有不被黑条覆盖的点即可. 区间端 ...

  2. noip模拟44[我想我以后会碰见计数题就溜走的]

    noip模拟44 solutions 这一场抱零的也忒多了,我也只有45pts 据说好像是把几套题里面最难的收拾出来让我们考得 好惨烈啊,这次的考试我只有第一题骗了40pts,其他都抱零了 T1 Em ...

  3. 6.17考试总结(NOIP模拟8)[星际旅行·砍树·超级树·求和]

    6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前 ...

  4. 5.23考试总结(NOIP模拟2)

    5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[ ...

  5. 5.22考试总结(NOIP模拟1)

    5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Pr ...

  6. 2021.9.17考试总结[NOIP模拟55]

    有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a ...

  7. [考试总结]noip模拟23

    因为考试过多,所以学校的博客就暂时咕掉了,放到家里来写 不过话说,vscode的markdown编辑器还是真的很好用 先把 \(noip\) 模拟 \(23\) 的总结写了吧.. 俗话说:" ...

  8. 「考试」noip模拟9,11,13

    9.1 辣鸡 可以把答案分成 每个矩形内部连线 和 矩形之间的连线 两部分 前半部分即为\(2(w-1)(h-1)\),后半部分可以模拟求(就是讨论四种相邻的情况) 如果\(n^2\)选择暴力模拟是有 ...

  9. 6.11考试总结(NOIP模拟7)

    背景 时间分配与得分成反比,T1 20min 73pts,T2 1h 30pts,T3 2h 15pts(没有更新tot值,本来应该是40pts的,算是本次考试中最遗憾的地方了吧),改起来就是T3比较 ...

随机推荐

  1. 移动APP我们需要关注什么

    移动APP关注的点比web或者PC上的程序更多 1.测试用例的设计 移动互联网的快节奏,要放弃传统的测试用例编写方式,不需要写详细的测试用例,采用罗列测试点的方式如思维导图,这样既节省时间又能够直观清 ...

  2. noip模拟31[time·game·cover]

    noip模拟31 solutions 我就觉得这些考试题是越考越难,我是也越考越完蛋,已经完完全全的接近爆零了 只有20pts,说真的这还是我第一次挂掉30pts,本来我还有50pts嘞 所以这次考试 ...

  3. 【网站公告】避免反对百度的限制措施:百度搜索过来的访问会自动禁用js权限

    今天下午百度联系我们,发现通过百度搜索访问我们网站的博文时会出现下面反对百度的画面,让我们今天彻底处理好,保证不再出现这种情况. 我们排查后发现是这位博主申请了js权限,添加了下面的反对百度的脚本: ...

  4. MySQL 执行优化查询

    查询执行的基础 当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的.当向MySQL发送一个请求的时候,MySQL执行过程如图1-1所示: 图1-1 查询执 ...

  5. postman之get请求

    get请求:

  6. 原生js 以ajax(post)的方式传json至php,并让php解析为数组

    如题. 比如要把一个json,如 json= {name:"John Rambo", time:"3pm"},,通过js ,传到一个php服务器 fwq.php ...

  7. "百度杯"CTF比赛 十月场——EXEC

    "百度杯"CTF比赛 十月场--EXEC 进入网站页面 查看源码 发现了vim,可能是vim泄露,于是在url地址输入了http://21b854b211034489a4ee1cb ...

  8. 使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法

    使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法 在notebook使用的时候出现了报错 from sklearn.datasets import fetch_mldat ...

  9. Pikachu-File Inclusion模块

    一.概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中,提供了:include(),inclu ...

  10. asp.net core 中的路由