2022.4.17周学习总结

一、本周学习进度

  1.java项目登录界面完善了, 能实现密码正确是否的判断

  2.注册界面写了正则判断是否有效

  3.登录进去能够聊天了,但是还没有界面。

  4.数据库工具包,IO流工具包写好了

  5.服务端采用了多线程的线程池启动线程

  6.找回密码功能已经完善

  7.题组刷到了20个

二、本周打比赛及补题情况

  1.CFedu126

  这场打的不是很理想,最后三分钟才写出来第二个题。差点掉分。

  

 

   这个B题,刚开始想着跑bfs,超时了,然后dfs也写超时了,搜索还是不太行,最后写了个dp过掉了

  C题比赛的时候没时间看,比完赛去看,一眼看出来是二分,只不过细节很多,没有处理到位,最后看别人的代码学了一手枚举+二分。

  代码实现:

 1 #include <iostream>
 2 #include <queue>
 3 #include <vector>
 4 #include <cstring>
 5 #include <string>
 6 #include <map>
 7 #include <cmath>
 8 #include <algorithm>
 9 #include <set>
10 #include <stack>
11 #include <cstdio>
12 #include <climits>
13 #define PII pair<int,int>
14 #define rep(i,z,n) for(int i = z;i <= n; i++)
15 #define per(i,n,z) for(int i = n;i >= z; i--)
16 #define ll long long
17 #define db double
18 #define vi vector<int>
19 #define debug(x) cerr << "!!!" << x << endl;
20 using namespace std;
21 inline ll read()
22 {
23     ll s,r;
24     r = 1;
25     s = 0;
26     char ch = getchar();
27     while(ch < '0' || ch > '9'){
28         if(ch == '-')
29             r = -1;
30         ch = getchar();
31     }
32     while(ch >= '0' && ch <= '9'){
33         s = (s << 1) + (s << 3) + (ch ^ 48);
34         ch = getchar();
35     }
36     return s * r;
37 }
38 inline void write(ll x)
39 {
40     if(x < 0) putchar('-'),x = -x;
41     if(x > 9) write(x / 10);
42     putchar(x % 10 + '0');
43 }
44 bool cmp(int p,int k)
45 {
46     return p > k;
47 }
48 ll a[300010];
49 int n;
50 ll ans;
51 ll check(int val)
52 {
53     ll c1 = 0;
54     ll c2 = 0;
55     rep(i,1,n) {
56         c1 += (val - a[i]) % 2;
57         c2 += (val - a[i]) / 2; 
58     }
59     ll c = 0;
60     if(c2 >= c1 + 2)
61         c = (c2 - c1 - 2) / 3 + 1;
62     return max((c1 + 2 * c) * 2 - 1,(c2 - c) * 2); 
63 }
64 int main()
65 {
66     int t;
67     ios::sync_with_stdio(false);
68     cin >> t;
69     while(t--){
70         cin >> n;
71         ll mk = -1;
72         ans = 1e18;
73         rep(i,1,n) {
74             cin >> a[i];
75             mk = max(mk,a[i]);
76         }
77         rep(i,0,1) ans = min(ans,check(mk + i));
78         cout << ans << endl;
79     }
80     return 0;
81 }

三、下周学习计划

  1.把项目的聊天界面写出来

  2.学一手加密算法,以及加好友等功能了解

  3.发消息等功能把文件图片等实现以下

  4.备战一下天梯赛把,快要打了,不想拖后腿

四、本周总结

  这周是项目和题组双开的一周,很折磨,前面还能平均每天开两道题,后面基本上一天都不一定能写出来一个题,还得周六周日去补,项目那边也只能抽空去学。搜索方面也雀氏学了很多东西,比如说状压搜索,康拓状压,状压dp,剪枝技巧等搜索技巧,学完之后还是挺满足的。希望下周加油把~~~QAQ

posted @ 2022-04-17 20:47  scannerkk  阅读(33)  评论(0)    收藏  举报