首页 > 其他分享 >重新振作第19-25天----极度emo

重新振作第19-25天----极度emo

时间:2024-12-16 19:21:16浏览次数:3  
标签:25 ch min 19 emo int while include mod

很想die,真的球球六级了。

英语六级

这个才是重中之重,剩下没几天了,真得疯狂学一下吧。但是作业也是真的离谱!

软件设计个人小实验*2

写完两个小实验

汇编实验报告

草草完成了一个实验,然后写一下实验报告。

大数据时代的信息素养作业

查一个火锅杯子

软件设计oj上机作业

有1说1,这个题目是真的水。。。。。。而且和去年,还有前年的题目一模一样。大多人都在cv或者GPT,真的自己写的不多。而且,学校oj平台是真的烂,题目emmm,含糊不清,数据范围巨小。感觉就算是超爆炸复杂度,都能够过。但是emmm,我是更喜欢优化一下的。

操作系统汇报 1.5h

上课汇报了一下,大概课前准备+汇报。

操作系统实验报告 2.5h

这次实验给的代码都是错的,虚拟机时跑不了的,镜像源是得自己找的,版本不一致需要自己解决的。

退役acmer的每日一题*n 1.5h

题目链接: https://atcoder.jp/contests/abc342/tasks/abc342_e
题目分析: 从末尾开始最短路,反着找最短路径。
代码实现:

#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=2e6+10;
const int MAX=1e6+5;
const int mod=1E9+7;
int n,m,k,w;
void solve(){
    cin>>n>>m;
    vector<int>E[n+1];// 存放从到达i的道路的id
    vector<int>from(m+1,0);
    vector<int>l(m+1,0);
    vector<int>d(m+1,0);
    vector<int>k(m+1,0);
    vector<int>c(m+1,0);
    for(int i=1;i<=m;i++){
        int to;
        cin>>l[i]>>d[i]>>k[i]>>c[i]>>from[i]>>to;
        E[to].push_back(i);
    }
    const int inf=1E19+10;
    // 维护最晚出发时间,对于终点而言,最晚出发的时间是可以无穷晚的
    vector<int>dis(n+1,0);
    priority_queue<pair<int,int>>q;
    q.push({inf,n});
    dis[n]=inf;
    // 对于每一个点而言,只受到最近
    while(q.size()){
        int p=q.top().second;
        int v=q.top().first;
        q.pop();
        if(v!=dis[p])continue; 
        for(int i=0;i<E[p].size();i++){
            int v=E[p][i];
            // 不会超过第一班
            if(dis[p]-l[v]-c[v]>=0){
                // 能存放几个
                int x=(dis[p]-l[v]-c[v]) / d[v];
                int now=l[v]+min(k[v]-1,x)*d[v];
                // 求的是最晚时间
                if(dis[from[v]]<now){
                    q.push({now,from[v]});
                    dis[from[v]]=now;
                }
            }
        }
    }
    for(int i=1;i<=n-1;i++){
        if(dis[i]!=0){
            cout<<dis[i]<<endl;
        }
        else {
            cout<<"Unreachable"<<endl;
        }
    }

}
signed main(){
    ios;
    int t;
    t=1;
    //cin>>t;
    while (t--){
        solve();
    }
    return 0;
}

题目链接:https://atcoder.jp/contests/abc370/tasks/abc370_e
题目思路:可以分析得出,每加上一个a[i],ans[i]等于前面所有的ans[j]之和,要保证a[j+1]到a[i]的和不为k。这样我们直接就进行一个递推,通过前缀和来进行相应的维护。
代码实现:

#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <deque>
#include <map>
#include <set>
#include <iomanip>
#include <cmath>
#include <cstring>
#define endl '\n';
#define int long long
const int mod=998244353;
using namespace std;
inline int read()
{
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
int ksm(int n,int m,int mod){
    int res=1;
    n=n%mod;
    while(m){
        if(m&1) res=res%mod*n%mod;
    	n=n*n%mod;
    	m>>=1;
    }
    return res%mod;
}
void solve(){
    int n,k;
    cin>>n>>k;
    vector<int>a(n+1,0);
    map<int,int>mp;
    vector<int>dp(n+1,0);
    int x=0;
    mp[0]=1;
    dp[0]=1;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        x=(a[i]+x);
        // 减去不可能的数量
        dp[i]=(dp[0]+mod-mp[x-k])%mod;
        //更新这个位置的已存在的数量
        mp[x]=(dp[i]+mp[x])%mod;
        // 在不知道下一个字符时预处理出来的划分
        dp[0]=(dp[i]+dp[0])%mod;
    }
    cout<<dp[n]<<endl;
}
signed main() {
	int t;
	// cin>>t;
	// while(t--)
	solve();
	return 0;
}

题目链接:https://atcoder.jp/contests/abc375/tasks/abc375_e
题目思路: f[i][j][k]表示当到第i个数字,A组为j,B组为k,C组为前面的数目总和减去i减去j,在这个情况下的最少转移次数,当这个转移的形式出来了之后,转移方程其实也比较好推导了。
代码实现:

#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <deque>
#include <map>
#include <set>
#include <iomanip>
#include <cmath>
#include <cstring>
#define endl '\n';
#define int long long
const int mod=998244353;
using namespace std;
inline int read()
{
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
int ksm(int n,int m,int mod){
    int res=1;
    n=n%mod;
    while(m){
        if(m&1) res=res%mod*n%mod;
    	n=n*n%mod;
    	m>>=1;
    }
    return res%mod;
}
void solve(){
    int n,k;
    cin>>n;
    vector<int>a(n+1,0),b(n+1,0);
    int sum=0;
    for(int i=1;i<=n;i++){
        cin>>a[i]>>b[i];
        sum+=b[i];
    }
    if(sum%3!=0){
        cout<<-1<<endl;
        return ;
    }
    sum/=3;
    int f[n+1][sum+1][sum+1];
    memset(f,0,sizeof f);
    for(int i=1;i<=n;i++){
        for(int j=0;j<=sum;j++){
            for(int k=0;k<=sum;k++){
                f[i][j][k]=1E8;
                //if(i==0&&j==k)f[i][j][k]=0;
            }
        }
    }
    int x=0;
    for(int i=1;i<=n;i++){
        x+=b[i];
        for(int j=0;j<=sum;j++){
            for(int k=0;k<=sum;k++){
                if(a[i]==1){
                    // a-c
                    if(x-k-j>=b[i])
                    f[i][j][k]=min(f[i-1][j][k]+1,f[i][j][k]);
                    // a-b
                    if(k>=b[i])
                    f[i][j][k]=min(f[i-1][j][k-b[i]]+1,f[i][j][k]);
                    // a-a
                    if(j>=b[i])
                    f[i][j][k]=min(f[i-1][j-b[i]][k],f[i][j][k]);
                }
                else if(a[i]==2){
                    // b-c
                    if(x-k-j>=b[i])
                    f[i][j][k]=min(f[i-1][j][k]+1,f[i][j][k]);
                    // b-b
                    if(k>=b[i])
                    f[i][j][k]=min(f[i-1][j][k-b[i]],f[i][j][k]);
                    // b-a
                    if(j>=b[i])
                    f[i][j][k]=min(f[i-1][j-b[i]][k]+1,f[i][j][k]);
                }
                else {
                    // c-c
                    if(x-k-j>=b[i])
                    f[i][j][k]=min(f[i-1][j][k],f[i][j][k]);
                    // c-b
                    if(k>=b[i])
                    f[i][j][k]=min(f[i-1][j][k-b[i]]+1,f[i][j][k]);
                    // c-a
                    if(j>=b[i])
                    f[i][j][k]=min(f[i-1][j-b[i]][k]+1,f[i][j][k]);
                }
            }
        }
    }
    if(f[n][sum][sum]!=1E8){
        cout<<f[n][sum][sum]<<endl;
    }   
    else cout<<-1<<endl;

}
signed main() {
	int t;
	// cin>>t;
	// while(t--)
	solve();
	return 0;
}

标签:25,ch,min,19,emo,int,while,include,mod
From: https://www.cnblogs.com/cdag/p/18595993

相关文章

  • 【复盘笔记】国考25一期_套题11
    一、言语理解1.选词填空词语积累:立竿见影、改头换面、跋前疐后、空谷足音、沅江九肋、障翳、白鲑之玷、韦编三绝、厚此薄彼和此消彼长、可圈可点、可歌可泣、乐观其成21题:“殚精竭虑”指费尽心思和精力,“痛心疾首”指对人或事的痛恨,也指对自己所犯错误的悔恨。根据后文的......
  • 20222314 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    202223142024-2025-1《网络与系统攻防技术》实验八实验报告1.实验内容1.1Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML1.2Web前端javascipt理解JavaScript的基本功能,理解DOM在1的基础上,编写JavaScript验证用户名、密......
  • seata TCC 模式 快速demo笔记
    之前笔记整理过AT模式:分布式事务seata(AT)与nacos整合-笔记2-CSDN博客对于TCC模式是类似的。相对于AT更灵活。1TCC模式原理官方介绍:SeataTCC模式|ApacheSeata这个介绍比较简单,demo可以快速体验下。实际落地根据自己业务模式来考虑,核心关注点有3个:幂等、允许空回......
  • 如何在 Spring Boot 应用程序中使用 WireMock 模拟外部 rest api 调用进行测试
    模拟外部API调用是集成或端到端测试中的常见做法,因为它允许开发人员将他们的代码与外部隔离。如果我们使用付费API并希望避免在测试时进行调用以节省资金,这也会有所帮助。有两种方法可以模拟外部API使用Mockito使用WireMock在集成测试和端到端测试中,我更喜欢使用Wir......
  • 11.25
    语句并非按顺序执行 C++ 程序表现得仿佛它们是按顺序执行的,完全遵守了 C++ 流程控制语句的控制。上句话影响优化的计算机行为 | 19中的含糊其辞的“仿佛”正是许多编译器进行优化的基础,也是现代计算机硬件的许多技巧的基础。当然,在底层,编译器能够而且有时也确实会对语句......
  • 11.19
    优化思想 1. 必须测量性能人的感觉对于检测性能提高了多少来说是不够精确的。人的记忆力不足以准确地回忆起以往多次实验的结果。本内侧的知识可能会误导你,使你相信了一些并非总是正确的事情。当判断是否应当对某段代码进行优化的时候,开发人员的直觉往往差得令人吃惊。他们......
  • 2025春招Java 面试必刷的1200 道Java大厂面试真题(含答案解析)
    2025春招即将来临,很多同学会问Java面试八股文有必要背吗?我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Cod......
  • 2024年金九银十版 Java 面试八股文教程,涵盖 25 大专题
    内卷可以说是2024年最火的一个词了。LZ在很多程序员网站看到很多Java程序员的2024年度总结都是:Java越来越卷了(手动狗头),2024年是被卷的一年。前有几百万毕业生虎视眈眈,后有在职人员带头“摸鱼”占着坑位,加上现在的行情让很多公司倒闭,市面上根本没那么多就业岗位。自然而......
  • 洗内衣裤的洗衣机哪个品牌好?2025年口碑最好的内衣洗衣机
    近几年家用洗衣机标准容积的大大增加,从5Kg、6Kg升级到9Kg、10Kg。大容量洗衣机满足了家庭中清洗大件衣物、床上用品的需求。但由于普通大型洗衣机所洗衣物混杂,很多时候内衣袜子、宝宝衣物数量不多,却也并不适合放在一起扔进大型洗衣机中清洗。但每天手洗小件衣物,既不能完全将衣......
  • 【人工智能】教你如何利用CodeMoss的OpenAI API调用GPT4大语言模型(最全教程)
    文章目录OpenAIAPIKey的使用场景步骤1:打开[CodeMoss](https://pc.aihao123.cn/index.html#/page/login?invite=1141439&fromChannel=1_Moss1213)工具步骤2:进入API管理界面步骤3:生成新的OpenAIAPI使用OpenAIAPI的实战教程1.可以调用的模型2.Python示例代码(基础)3.Pytho......