2023.3.28

发布时间 2023-03-28 20:10:28作者: Moyyer_suiy

今天的模拟赛关于位运算。上午的省选模拟赛感觉很抽象,思考了一下没有做,大概能看出来 T1 线段树 or 分块,T2 状压 dp,T3 昨天说过是个虚树。嗯嗯,不会,现在就是看题大概有个思路,但是不会写,基础的也掌握不好,容易理解错题意,这个后期需要通过做题多多练习。(T1 正解他们说是线段树分治,嗯嗯不会,太抽象了,T2 状压不会设状态)。

之前 rating 几乎炸了,今天下午的模拟赛多少骗了点分。(然而只做了一个半小时,感觉这个也需要训练,我认真做题的专注时间无法超过半个小时)


1.P2114 [NOI2014] 起床困难综合症 传送门

 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 using namespace std;
 4 const int N = 1e5 +10;
 5 int n;
 6 ll m;
 7 char ch[5];
 8 struct{
 9     int op;
10     ll t;
11 }a[N];
12 ll calc(int bit, ll now)
13 {
14     for(int i = 1; i <= n; i ++ )
15     {
16         ll x = a[i].t >> bit & 1;
17         if(a[i].op == 1) now &= x;
18         else if(a[i].op == 2) now |= x;
19         else now ^= x;
20     }
21     return now;
22 } 
23 int main()
24 {
25     scanf("%d%lld", &n, &m);
26     for(int i = 1; i <= n; i ++ )
27     {
28         scanf("%s%d", ch, &a[i].t);
29         if(ch[0] == 'A') a[i].op = 1;
30         else if(ch[0] == 'O') a[i].op = 2;
31         else a[i].op = 3; 
32     }
33     ll val = 0, ans = 0;
34     for(int bit = 29; bit >= 0; bit -- )
35     {
36         int res1 = calc(bit, 1);
37         int res0 = calc(bit, 0);
38         if(val + (1 << bit) <= m && res0 < res1)
39             val += (1 << bit), ans += res1 << bit;
40         else ans += res0 << bit;
41     }
42     printf("%lld", ans);
43 }
P2114 [NOI2014]

 

考场上不会,后来看的

最近的小反思:

1.阅读题意有障碍:读不懂题目 or 错误的理解题意,导致把题想难然后放弃。

2.做题的随意性太大:有时候看一眼题面,不对口味(?)就直接放弃并跳过,并且大概率题目不会再读第二遍。

3.模拟赛考场上坐不住:很难坚持到 2h 以上,一般打到一半就会很崩溃想放弃。

4.不喜欢打暴力 and 没有拿部分分的习惯:这个不好,之前养成的错误的习惯是看到一个题对味就和它死磕(然后后面的题就不管了,磕到觉得调对了为止,然后就开始摆烂。可以说我的 noip 2022 就是这么挂的,做了 2h 水了水 T1 就开始睡觉了...)。建议每个题都先写写暴力,现在还远远不及一眼正解的水平,写暴力有利于对题目深入的思考,更容易从中 get 到题目的内涵和解决题目的真正要点。另外可以骗点分,哪怕是爆搜。

说到这个,emmm我一直不会爆搜,这阵子才练起来,最暴力的暴力起码不会爆零。

其实最近有些进步了,已经能突破 100 pts 的瓶颈了。相比之前后面的题都不看,我确实有了很大的进步(认真)。但是还需继续练习各题的暴力!

一些解决方案嘛:

1.多做题,多阅读。注意积累,多写题解多交流才能学好 oi !!!

2.emmm,强迫自己打模拟赛时先把每一道题都读一遍!

3.喝水,中间可以去走廊上转转,但是集中注意力不要泄气。

4.emmmm 多练练罢,毕竟现在咱 rating 都靠这个了(悲)。

总结嘛:之前在大实几乎没打过模拟赛,现在在这边 emmmm 受到各方面的打击也在慢慢适应和进步罢。

今年省选咱也去。说给自己:希望能不忘最初的梦想,不忘曾今受过的鼓舞,不忘在旅途中看过那美丽的风景,曾遇见的温暖。很感谢在 oi 圈子里遇见这么多美好的事情,和美好的人。那么请继续坚定且自信的走下去吧!

曾一次次想放弃,一次次又坚持了下去。如果放弃了,我对不起曾今帮助过我、鼓励过我的人,更对不起我自己。

Keep going!!!  Fightttttttt!!!!!!