重新振作第12天----十二月的第二天
今天是新的开始,因为正式开始期末月倒计时了。但是,今天还是没有振作起来。六点醒来了一次,然后继续睡了,七点醒来了一次,又继续睡了,然后每个小时醒来一次,十点才正式下床。只能说,振作了一半,但是没有完全振作起来,很是sad,继续强有力的叫醒服务。
六级preparation
[12:04]20个单词,并开始磨耳朵练习
[16.41]15个单词
[20:45]15个单词
操作系统课程
[15:30] 差不多大致理解课题小测的作业,大概80%-90%上下的内容,当然转换一个概念,对于我目前而言,还是有点hard。
操作系统文献阅读作业
[11:24] 打算今天完成的,还不知道能不能完成。
[20:30] 结合网上资料,全篇泛读一遍,大意了解
[23:30] 准备精读,看完第一页,有点悟了。
软件设计实验报告
[13:00] 第一个实验写了一个开头
退役acmer的每日一题*8
题目链接:https://atcoder.jp/contests/abc379/tasks/abc379_e
思路分析:给一个长度为n的数字字符串,然后求所有子串的和的值是多少。首先,这题肯定不是让你直接数学的加法,因为会超表示范围。然后我们模仿竖式计算,肯定从最低位开始。然后发现最高位作为个位的个数是1,次高位是2,然后依次加一,然后最后结果的最低位就计算完毕了。接着,原先字符串的最低位肯定不会作为高位进行计算,我们不妨删去,然后次低位就变成了最低位,然后接着就是模仿上面的计算。即可得出结果。
有1说1,这种思维题,只要想到了,基本上就是速秒。但是如果想不到的话,就是痛苦面具,可能几个小时也想不出来。所以得锻炼思维能力。
代码实现:
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
using namespace std;
const int N=5e5+10;
const int MAX=1e6+5;
const int mod=1E9+7;
int n,m,k,w;
void solve(){
int n;
cin>>n;
string s;
cin>>s;
s=' '+s;
int c=0;
vector<int>a(n+1,0),ans(n+1,0);
for(int i=1;i<=n;i++){
a[i]=a[i-1]+(s[i]-'0')*i;
}
for(int i=n;i>=1;i--){
ans[i]=(a[i]+c)%10;
c=(c+a[i])/10;
}
if(c)
cout<<c;
for(int i=1;i<=n;i++){
cout<<ans[i];
}
}
signed main(){
ios;
int t;
t=1;
//cin>>t;
while (t--){
solve();
}
return 0;
}
明日规划
首先,稳定心态。心态真的很容易崩溃。
第二,真得努力一把。往者不可谏,来者犹可追。
任务规划如下:
(1)操作系统文献精读+脑图制作+PPT 预计时间4h
(2)软件设计实验1的程序制作以及报告撰写 3-4h
(3)软件设计的大作业的规划安排确定 1h以内
(4)六级阅读 1h 单词 1h 听力有时间就放着听 无上限
(5)科研重启 2h maybe more
总计时间 11-12h