11.6日志

news2024/11/7 12:30:28

1.Problem - D - Codeforces

首先很显然的是我们肯定要一列一列的找并且我们发现当小偷跟我们一开始处于奇偶不同的x格子的时候我们会完美错开同时也发现小偷每次移动x必然会移动也就是说小偷每次的x每次都会改变奇偶性因此我们让警察从1 1 1 2一直扫到最左边这时候能抓到所有开始位置在奇数格子的小偷回去的时候我们在2000 1 2000 2停留一次改变自己和小偷的相对奇偶性再向左扫一次就一定能抓到小偷

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<string , string> pss;
const int N = 2e5 + 10,inf = 0x3f3f3f3f,mod = 19930726;

int main()
{
    std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
        
    cout<<2000<<"\n";
    for(int i = 1 ; i <= 1000 ; i++)
    {
        cout<<i<<" "<<1<<" "<<i<<" "<<2<<"\n";
    }    

    for(int i = 1000 ; i >= 1 ; i--)
    {
        cout<<i<<" "<<1<<" "<<i<<" "<<2<<"\n";
    }
}

2.Problem - C - Codeforces

这题我们侧重点应该在于考虑每条边被使用的频率,在求G的时候我们应该要让每条边被使用的频率尽可能的少,那么就是对于以i为根的子树的时候若其大小为偶数就说明子树中的点可以与子树中的其他点配对消化若是奇数则说明有一个点需要与子树外的点匹配,那么我们肯定选最外层的也就是子树的根i,它连向外界的边肯定会被使用因此加上,在我们求B的时候我们希望每条边被尽可能地使用那么就是说明以i为根的子树中的点尽量跟子树外的点匹配那么我们就需要考虑一条边最多会被使用多少次,i连向j的边w会被使用的次数就是min(siz[j] , 2 * k - siz[j])

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<string , string> pss;
const int N = 2e5 + 10,inf = 0x3f3f3f3f,mod = 19930726;

vector <pii> g[N];
ll k;
ll ans,siz[N];

void init()
{
    for(int i = 1 ; i <= 2 * k ; i++)
    {
        g[i].clear();
        siz[i] = 0;
    }
}

void dfs1(int u,int fa)
{
    siz[u] = 1;
    for(int i = 0 ; i < g[u].size() ; i++)
    {
        int j = g[u][i].x,d = g[u][i].y;
        if(j == fa)
        {
            continue;
        }
        dfs1(j , u);
        siz[u] += siz[j];
        if(siz[j] % 2)
        {
            ans += d;
        }
    }
}

void dfs2(int u,int fa)
{
    for(int i = 0 ; i < g[u].size() ; i++)
    {
        int j = g[u][i].x,d = g[u][i].y;
        if(j == fa)
        {
            continue;
        }
        dfs2(j , u);
        ans += d * min(siz[j] , 2 * k - siz[j]);
    }
}

void work()
{
    cin>>k;

    init();
    for(int i = 1 ; i < 2 * k ; i++)
    {
        ll u,v,z;
        cin>>u>>v>>z;
        g[u].push_back({v , z});
        g[v].push_back({u , z});
    }

    ans = 0;
    dfs1(1 , -1);

    cout<<ans<<" ";

    ans = 0;
    dfs2(1 , -1);
    cout<<ans<<"\n";
}

int main()
{
    std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
        
    int t;
    cin>>t;

    while(t--)
    {
        work();
    }
}

3.B-小H学数学_牛客练习赛131

我们的状态表示为dp[i][j]即j个人凑i的方案数,为了防止x越界因此我们将x += 1000,也就是将我们凑得数整体加上1000,最内层循环就是枚举1 - 10的正负数以及1-5双重循环的组合进行转移,有一点需要注意的是内外层循环不能颠倒必须先枚举人作为最外层循环再枚举数字,因为若是先枚举数字的话那么我们之后的转移都是不准确的,例如对于i明明可以通过一个人就可以从i + 10转移但是因为我们还没有枚举到i + 10所以此时的i + 10是空的,这个时候就会产生遗漏

#define yyy cout<<"Yes"<<"\n" 
#define nnn cout<<"No"<<"\n" 
#define x first 
#define y second
#include<bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef pair<ll , ll> pii;
typedef pair<string , string> pss;
const int N = 5e3 + 10,inf = 0x3f3f3f3f,mod = 1e9 + 7;

ll dp[N][200];
int x,y;

void add(int i,int j,int k)
{
    if(i + k >= 0 && i + k <= 2000)
    {
        dp[i][j] = (dp[i][j] + dp[i + k][j - 1]) % mod;
    }
}

int main()
{
    std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
        
    cin>>x>>y;
    y++,x += 1000;
    dp[1000][0] = 1;

    for(int i = 1 ; i <= y ; i++)
    {
        for(int j = 0 ; j <= 2000 ; j++)
        {
            for(int op = 1 ; op <= 10 ; op++)
            {
                add(j , i , op),add(j , i , -op);
            }
            for(int op1 = 1 ; op1 <= 5 ; op1++)
            {
                for(int op2 = 1 ; op2 <= 5 ; op2++)
                {
                    add(j , i , op1 + op2),add(j , i , -op1 + op2);
                    add(j , i , op1 - op2),add(j , i , -op1 - op2);
                }
            }
        }
    }

    cout<<dp[x][y];     
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Node.js回调函数以及事件循环使用介绍(基础介绍 三)

回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现&#xff0c;但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用&#xff0c;Node 使用了大量的回调函数&#xff0c;Node 所有 API 都支持回调函数。 例如&#xff0c;我们可以…

Linux(CentOS)安装 MySQL

CentOS版本&#xff1a;CentOS 7 MySQL版本&#xff1a;MySQL Community Server 8.4.3 LTS 1、下载 MySQL 打开MySQL官网&#xff1a;https://www.mysql.com/ 直接下载网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 其他版本 2、上传 MySQL 文件到 CentOS 使用F…

服务器被攻击排查记录

起因 我的深度学习的所有进程突然被killed&#xff0c;我以为是检修&#xff0c;后面发现好像简单的python代码可以正常运行。但是我的训练进程一启动就会被killed 第一时间没有用htop查看cpu&#xff0c;用top看着挺正常的&#xff0c;但是后面看htop&#xff0c;全是绿的&a…

TDengine 签约蘑菇物联,改造通用设备工业互联网平台

在当前工业互联网迅猛发展的背景下&#xff0c;企业面临着日益增长的数据处理需求和智能化转型的挑战。通用工业设备的高能耗问题愈发突出&#xff0c;尤其是由这些设备组成的公辅能源车间&#xff0c;亟需更高效的解决方案来提升设备运行效率&#xff0c;降低能源消耗。为此&a…

【大数据学习 | kafka高级部分】文件清除原理

2. 两种文件清除策略 kafka数据并不是为了做大量存储使用的&#xff0c;主要的功能是在流式计算中进行数据的流转&#xff0c;所以kafka中的数据并不做长期存储&#xff0c;默认存储时间为7天 那么问题来了&#xff0c;kafka中的数据是如何进行删除的呢&#xff1f; 在Kafka…

TOEIC 词汇专题:市场销售篇

TOEIC 词汇专题&#xff1a;市场销售篇 市场销售是企业推广产品和树立品牌形象的重要环节。今天为大家介绍在市场销售领域中常用的托业词汇&#xff0c;助力更好地理解相关英语场景。 1. 市场推广与活动 市场销售离不开推广活动&#xff0c;以下是一些核心词汇&#xff1a; A…

基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递

引言 本文介绍如何在开发环境下解决 Vite 前端&#xff08;端口 3000&#xff09;和后端&#xff08;端口 80&#xff09;之间的跨域问题&#xff1a; 在开发环境中&#xff0c;前端使用的 Vite 端口与后端端口不一致&#xff0c;会产生跨域错误提示&#xff1a; Access to X…

OpenCV-Python-安装环境与测试样例

本文使用Pycharm安装openCV 1.打开pycharm终端 (GUI是我自己创建的项目名称) 错误&#xff1a;终端如果打开闪退的话 应对如下&#xff1a; 汉化版&#xff1a;文件->设置->工具->终端->红框位置设置cmd 英文版&#xff1a;file->settings->Tools->t…

Spark on YARN:Spark集群模式之Yarn模式的原理、搭建与实践

Spark 的介绍与搭建&#xff1a;从理论到实践-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交&#xff1a;本地与集群模式全解析-CSDN博客 目录 一、Spark on YARN 的优势 &#xff08;一&#…

基于IM场景下的Wasm初探:提升Web应用性能|得物技术

一、何为Wasm &#xff1f; Wasm&#xff0c;全称 WebAssembly&#xff0c;官网描述是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm被设计为一个可移植的目标&#xff0c;用于编译C/C/Rust等高级语言&#xff0c;支持在Web上部署客户端和服务器应用程序。 Wasm 的开发者参…

【JAVA毕业设计】基于Vue和SpringBoot的墙绘产品展示交易平台

本文项目编号 T 049 &#xff0c;文末自助获取源码 \color{red}{T049&#xff0c;文末自助获取源码} T049&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

在全域数据整合过程中,如何确保数据的一致性和准确性

在全域数据整合过程中&#xff0c;确保数据的一致性和准确性是至关重要的&#xff0c;这不仅关系到数据分析结果的可靠性&#xff0c;还直接影响到企业决策的科学性和有效性。Aloudata AIR 逻辑数据编织平台通过数据虚拟化技术&#xff0c;为这一过程提供了强有力的支持。以下是…

w024基于SpringBoot的企业客户管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0…

element-plus快速实现table组件表头吸顶和滚动条吸底

使用devecoui 组件快速实现 element-plus table 组件&#xff0c;表头吸顶和滚动条吸底&#xff0c;且完美实现固定表头的吸顶效果&#xff0c;同时devecoui组件还可以实现&#xff0c;查询列表的快速开发&#xff0c;里面集成了更多的功能。详细功能请前往&#xff1a;添加链接…

C++STL容器详解——list

目录 一.list 1.list的介绍 2.为什么会有list? 二.list的常见接口 1.list的构造函数 2.list的遍历 3.迭代器类型 4.list的头插头删和尾插尾删 5.list任意位置的插入和删除 6.list的sort()及reverse() 7.迭代器失效 三.整体代码 一.list 1.list的介绍 list的文档说…

服务器数据恢复—EVA存储故障导致上层应用不可用的数据恢复案例

服务器存储数据恢复环境&#xff1a; 一台EVA某型号控制器EVA扩展柜FC磁盘。 服务器存储故障&检测&#xff1a; 磁盘故障导致该EVA存储中LUN不可用&#xff0c;导致上层应用无法正常使用。 服务器存储数据恢复过程&#xff1a; 1、将所有磁盘做好标记后从扩展柜中取出。硬…

hf_transformers

强者自定义&#xff0c;弱者用默认&#xff0c;傻逼不看说明书 1. 2.在 model.generate()里填参数&#xff0c;默认为20个新token generated_ids model.generate(**model_inputs, max_new_tokens50) 3. 默认情况下&#xff0c;除非在GenerationConfig文件中指定&#xff0…

Sigrity Power SI 3D-EM Inductance Extraction模式如何进行电感的提取操作指导(一)

Sigrity Power SI 3D-EM Inductance Extraction模式如何进行电感的提取操作指导(一) Sigrity Power SI使用3D-EM Inductance Extraction模式可以进行电感的提取,以下图为例 2D 视图 <

学习记录:js算法(八十七):单词搜索

文章目录 单词搜索思路一思路二 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其…

应急救援无人车:用科技守护安全!

一、核心功能 快速进入危险区域&#xff1a; 救援无人车能够迅速进入地震、火灾、洪水等自然灾害或重大事故的现场&#xff0c;这些区域往往对人类救援人员构成极大威胁。 通过自主导航和环境感知技术&#xff0c;无人车能够避开危险区域&#xff0c;确保自身安全的同时&…