Codeforces Educational Codeforces Round 41

路径规划:D*Lite寻路算法详解 D*Lite详解目录 阅读详情

A,B签到题略过。
C. Chessboard
其实这题的思路很简单,但是如果没想到的话还是挺难的….简单来说,我们并不需要去具体考虑4块中的每一块具体放在哪里——因为对每一块来说,他的最终状态只有两种可能,并且这个可能是由它的左上角的小方块的颜色决定的;那么我们其实只要计算出每一块转换为两种状况所需要重新染色的次数,然后显然左上角与右下角的块状况相同,另两块状态也相同,那我们在两种状况中选择最小的两个即可。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[5],b[5];
char f[105][105];
int main()
{
    int n,i,j,k;
    cin>>n;
    for(i=1;i<=4;i++){
        char x='1',y='0';//注意每次都要初始化这个
        for(j=1;j<=n;j++){
            for(k=1;k<=n;k++){
                cin>>f[j][k];
                if(f[j][k]!=x)a[i]++;
                if(f[j][k]!=y)b[i]++;
                char t=x;x=y;y=t;
            }
        }
    }
    sort(a+1,a+5);sort(b+1,b+5);
    cout<<a[1]+a[2]+b[1]+b[2]<<endl;

    return 0;
}

D. Pair Of Lines
抓住一个关键,就是前3个点中肯定有俩共线,剩余的点要么在这条线上,要么就在另一条线上;
当然,点的个数4个以内肯定是ok的

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e5+5;
typedef long long ll;
ll x[N],y[N];int n;
bool gx(int a,int b,int c)//判定共线与否
{
    return (y[a]-y[b])*(x[a]-x[c])==(y[a]-y[c])*(x[a]-x[b]);
}
bool check(int a,int b)
{
    vector<int>v;
    for(int i=1;i<=n;i++)//对于所有其他的点,判定与选中的两个点是否共线
        if(!gx(a,b,i))
            v.push_back(i);//不共线就丢进vector
    if(v.size()<3)return true;//如果不共线的点不足3个,显然再用一条线就可以解决
    for(int i=2;i<v.size();i++)
        if(!gx(v[0],v[1],v[i]))//剩余的点如果无法用一条线串起来的话显然不行
            return false;
    return true;
}
int main()
{
    int i,j;
    cin>>n;
    for(i=1;i<=n;i++)
        scanf("%lld%lld",&x[i],&y[i]);
    if(n<=4||check(1,2)||check(1,3)||check(2,3))//前3个点中必然至少有俩共线
        cout<<"YES"<<endl;
    else cout<<"NO"<<endl;

    return 0;
}

E. Tufurama
朴素想法直接枚举,妥妥tle

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=2e5+5;
int a[N];
int main()
{
    int n,i,j,k;
    cin>>n;
    for(i=1;i<=n;i++)scanf("%d",&a[i]);
    long long ans=0;
    for(i=1;i<=n;i++)
        for(j=i+1;j<=min(n,a[i]);j++)
            //for(k=i+1;k<=n;k++)
            {
        if(a[j]>=i)ans++;
    }
    cout<<ans<<endl;

    return 0;
}

正解的话则比较奇妙。因为题目其实就是对于i从1~n,从j=1~i-1中寻找a[j]>=i的个数,
那么我们可以在枚举到每个i的时候,把所有的a不足i的位置都给标记出来,注意,在i后面的a不足i的位置也要同时标记,因为i是递增的,因此对于后面的i,这些a必然也不满足(其实主要是因为代码中的p从小到大标记只用扫一遍,如果每次都进行重新扫描标记复杂度太高了)然后对于每个i,满足条件的位置和就是min(i-1,a[i])减去有标记的位置之和。那么如何高效地统计出有标记的位置之和呢?这其实是一个单点更新区间求和的问题,因此可以用树状数组高效解决。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int N=2e5+5;
ll bit[N],n;
int id[N],a[N];
bool cmp(int x,int y)
{
    return a[x]<a[y];
}
ll sum(int i)
{
    ll s=0;
    while(i){
        s+=bit[i];
        i-=i&(-i);
    }
    return s;
}
void add(int x)
{
    while(x<=n){
        bit[x]++;
        x+=x&-x;
    }
}
int main()
{
    int i,j,k;
    cin>>n;
    for(i=1;i<=n;i++)scanf("%d",&a[i]),id[i]=i;//id主要进行按a值的大小对位置进行排序
    sort(id+1,id+1+n,cmp);ll ans=0;int p=0;//这样p只用扫一遍即可进行所有标记
    for(i=2;i<=n;i++){
        j=min(i-1,a[i]);
        for(;p<n&&a[id[p+1]]<i;)//标记所有不足的a
            add(id[++p]);
        ans+=j-sum(j);
    }
    cout<<ans<<endl;

    return 0;
}
【人工智能的数学基础】最优传输(Optimal Transport)问题与Wasserstein距离 代表两堆石子,则问题等价于如何移动一堆石子,通过最小的累积移动距离把它堆成另外一堆石子。的不同位置分配的值。为离散型概率分布,则该优化问题可以表示为矩阵形式。表示寻找总运输成本最小的方案。放大后的上确界不会小于原来的上确界,因此不妨取。具有相同的概率分布。是概率分布,因此积分可以写作采样形式。描述了一种可行的运输方案,表示应该从位置。则最优传输问题的目标函数可以用列向量。对于一个线性规划问题,总可以写出其。的所有可能联合分布的集合,下确界。其中矩阵的每一行代表概率分布。表示寻找使得目标函数最大的。 阅读详情

相关推荐

从零开始:使用Mask2Former训练你的专属图像分割数据集

本文详细介绍了如何使用Mask2Former训练自定义图像分割数据集,从环境配置、数据集准备到模型训练与优化。通过实战技巧和问题排查指南,帮助开发者高效完成从零开始的图像分割任务,特别适合需要处理自定义数据集的AI研究人员和工程师。

weixin_30566063的博客 640

算法题 | 你能想出解法,让你的基友少氪金吗?

大家好,今天codeforces专题选择的是一场education比赛的C题。 Education是codeforces的一种特殊赛事,它的主要作用是教育,也就是让更多的人了解codeforces的比赛机制。所以education赛事的题会相对来说容易一些,更加适合新手。我选的这道题虽然是C题,但是难度并不高非常基础。 链接:https://codeforces.com/contest/1418/problem/C 这题通过的人数有3600多,相比之前介绍的题算是比较少,但是题目难度其实更低一些。我们废话不

TechFlow的博客 389

5分钟搞定CST周期性结构仿真:共面波导色散曲线快速生成技巧

本文提供了一套在CST Studio Suite中快速仿真周期性结构并生成色散曲线的标准化流程。针对共面波导设计,重点解析了周期性边界条件的核心设置、本征模求解器(JDM算法)的优化技巧,以及通过参数扫描与后处理模板实现自动化,旨在帮助射频与微波工程师在5分钟内高效完成关键性能验证。

blue的专栏 1246

Educational Codeforces Round 41 (Rated for Div. 2)

前言 前天网上打的比赛了。。 由于实力不够,变成手速场。。 最终结果 rank120左右,做了A,B,C,D,E。G没有做出来,赛后更正了。。 F还没做,但最近也不打算做。。以后再做吧 题解 A 直接看一下哪一个数字出现地最少,输出来即可 B 预处理一些前缀和和后缀和 暴力枚举在哪里叫醒他就可以了 C 考虑到只有4个矩阵,所以我们可以用4!4!4!的时间来枚举排列...

OZY的博客 330

Autoware.universe部署03:与Carla(二进制版)联调

本文介绍了 Autoware.universe 与 Carla 二进制版的联调过程。Autoware.universe 是一个开源的自动驾驶软件平台,而 Carla 则是一个用于自动驾驶仿真的开源工具。将这两者联调起来可以在仿真环境中测试和验证 Autoware.universe 的功能和性能,为自动驾驶系统的开发和测试提供有力支持。

zardforever123的博客 7368

绝对旋转编码器学习笔记(基本原理,与PC通信等,不定期更新中)

前言 最近开始学习编码器相关内容,目的在于搞清楚编码器的原理,与上位机的联系等问题。笔记资料来源为网络,整理的同时也会有一些总结和感悟。由于研究方向需求,主要研究数字旋转编码器。 1.编码器的定义 编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。——摘自《百度百科》 通常来说,编码器可以将角度位移、直线位移、转速等物理量转换为电信号。这里的电信号根据不同原理的编码器输出脉冲、二进制数码等不同的类型,下面会提到。 2.编码器的分类 编.

黑化咸鱼的博客 1万+

Educational Codeforces Round 41(已补D,E)

D. Pair Of Lines 题目大意: 给\(n\)个点,问是否存在两条直线(可以为同一条)能覆盖所有的点。 解题思路: 首先一个或者两个或者三个点都是肯定可以用两条线覆盖的。 如果点的个数大于等于三个,那么我们已经可以确定至少一条线的: 点1和点2可能在一条线上,点2和点3可能在一条线上,点3和点1可能在一条线上。 我们试着确定其中一条线后,去掉在线上的所有点,剩下的点肯定在另一...

anyi4391的博客 193

扣子Coze智能体万字教程:从入门到精通,一文掌握AI工作流搭建

智能体 = 角色设定 + 提示词 + 变量输入一个好提示词的核心是结构、风格和复用性创建后可以一键发布成网页应用、对话助手整个过程0代码,只靠配置,人人可学,人人可用四、进阶一:理解「工作流」的威力如果你已经用扣子创建了几个简单的智能体,比如写个爆款小红书文案、生成一段短视频脚本,那恭喜你已经入门。但如果你还停留在“一个智能体 = 一段提示词”的层级,你离真正的智能体生产力革命,还差一步:学会搭建“工作流”——让多个大模型自动协同完成任务。

互联网架构师笔记 3493

Codeforces Educational Codeforces Round 41 (Rated for Div. 2) B. Lecture Sleep

点击打开链接#include &lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; using namespace std; typedef long long LL; const int maxn=1e5+5; int a[maxn],t[maxn]; int main() { int n,k; sca...

老铁,干了这碗algorithms的博客 577

【MicroPython编程-ESP32篇:设备驱动】-BNO08X系列传感器驱动

BNO08X 系列(BNO085/BNO086)是一款系统级封装 (SiP),集成了三轴加速度计、三轴陀螺仪、磁力计以及运行 CEVA SH-2 固件的 32 位 ARM® Cortex™-M0+ 微控制器。SH-2 包含 MotionEngine™ 软件,该软件提供复杂的信号处理算法来处理传感器数据,并提供精确的实时 3D 姿态、航向、校准加速度和校准角速度,以及更高级的上下文输出。BNO08X 集成在一个 28 引脚 LGA 封装中,尺寸为 3.8mm x 5.2mm x 1.1mm。它兼容 Andro

视觉与物联智能 690

SAP 中租赁资产的实现需区分经营租赁与融资租赁,核心围绕资产主数据配置、折旧与利息设置、科目分配及业务操作展开

摘要:SAP系统租赁资产管理需区分经营租赁与融资租赁,通过SPRO配置资产主数据、折旧范围、利息计算及科目分配。关键步骤包括:激活折旧范围利息计算(OABZ)、设置租赁资产类别(OAYZ)、维护总账科目(AO90)及创建租赁资产主数据(AS01)。业务操作涵盖资产资本化(ABZON)、折旧利息过账(AFAB)、租金支付(F-53)及终止处理(ABUMN)。核心配置要点在于准确设置租赁类型、利率参数和科目联动,确保系统自动计算折旧与利息并生成正确凭证。

金牌架构师 1069

codeforces educational 92 B C

题目 B 一开始想的是dp,但写不下去,因为不知道怎么找当前的位置在哪里(毕竟限制了不能连续往左走),看了官方题解才知道是k-2*z+1,有了这个就好弄很多了。 设f[i][j][k]f[i][j][k]f[i][j][k]为当前走了i步,已经往左走了j次,这一步是向右移动过来的还是向左移动过来的(有限制我们也可以多开状态去储存),转移和细节就直接看代码吧。 #include<cstdio> #include<algorithm> #include<iostream> #

qq_37073764的博客 196

英飞凌TC3xx之一起认识GTM(八)如何使用DTM实现死区时间配置

本文简要介绍英飞凌TC3xx系列芯片的DTM模块结构,以及有哪些相关寄存器可用于实现相关配置。

无所适从的我的博客 4645

Educational Codeforces Round 41 B、C、D

http://codeforces.com/contest/961 B题 可以将长度为k的连续区间转化成1 求最大和 解析 简单尺取 1 #include <stdio.h> 2 #include <math.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #...

dianxue5904的博客 128

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Educational Codeforces Round #41 (D&E)

ABC就是暴力暴力暴力哇……D. Pair of Lines: 给出平面上n个点的坐标,问是否存在两条直线使得这n个点中的每一个都至少位于一条直线上。两条直线,首先要确定其中一条直线,然后将不在这条直线上的所有点取出来判断它们是否共线。前三个点必定可以确定一条直线,直接枚举三种组合方式。n&lt;=4时直接输出Yes。#include&lt;cstdio&gt; #include&lt;cstri...

NPU_SXY的博客 362

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Educational Codeforces Round 41 D. Pair Of Lines

You are givennpoints on Cartesian plane. Every point is a lattice point (i. e. both of its coordinates are integers), and all points are distinct. You may draw two straight lines (not necess...

ailiao2015的博客 175

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Educational Codeforces Round 41 (Rated for Div. 2) _E. Tufurama

大家如果有能力的话,可以看一下当时比赛页面中的题解,当然了题解大部分都会是英文的,比如这个题的首先打开这道题:http://codeforces.com/contest/961/problem/E,然后我们在下面可以看到这个东西:那么这个就是题解了,点进去就可以看到这次题的所有题解以及正确的程序,当然Codeforces上的所有程序以及测试样例也都是公开的,大家也可以在一下大神们的程序,看一下能不...

A_Bo的博客 561

Educational Codeforces Round 41 A B C D E

A. Tetris 题意 俄罗斯方块,问能得多少分。 思路 即求最小值 Code #include <bits/stdc++.h> #define F(i, a, b) for (int i = (a); i < (b); ++i) #define F2(i, a, b) for (int i = (a); i <= (b); ++i) #define dF(i,...

ahu12345678的博客 234

Educational Codeforces Round 41 (Rated for Div. 2)(持续更新中)

题目原文懒得放了,丢个链接:点击打开链接A:平台上有n个槽,然后要往里面放1*1的方块,如果n个槽的底部同时有方块那么所有槽底下的方块同时去掉,然后你得一分!……想起了什么经典游戏呢哈哈哈……数据较小,暴力查找就行:代码如下:#include&lt;bits/stdc++.h&gt; using namespace std; int main() { int n,m,a[1010],t,s...

Cutec_lbq的博客 390

codeforces Educational Codeforces Round 41 (2018.4.4)

A. Tetris time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output You are given a following process. There is a platform with nnn columns. 1×11×1...

反之亦然 372

cf Educational Codeforces Round 41 D. Pair Of Lines

原题: D. Pair Of Lines time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output You are given n points on Cartesian plane. Every point is a lattice...

@fei 344

cf Educational Codeforces Round 41 C. Chessboard

原题: C. Chessboard time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Magnus decided to play a classic chess game. Though what he saw in his ...

@fei 273

Educational Codeforces Round 41 (Rated for Div. 2) G. Partitions

G. Partitions time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given a set ofnelements indexed from1...

aiba481424的专栏 119
上一篇: CF473 DIV2 D. Mahmoud and Ehab and another array construction task
下一篇: 洛谷P2761
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值