Codeforces 8VC Venture Cup 2017 - Elimination Round

手把手教你用Python实现ITRS与GCRS坐标转换(附完整代码) 本文详细介绍了如何使用Python的Astropy库实现ITRS与GCRS坐标转换。文章从环境配置、坐标对象构建入手,深入解析了transform_to方法背后的转换矩阵与地球定向参数管理,并通过卫星地面轨迹计算实战案例,帮助开发者掌握高精度空间坐标转换的核心技术与工程实践。 阅读详情

C. PolandBall and Forest

简单并查集,把相关节点合并即可。

#include <bits/stdc++.h>

using namespace std;

#define ll long long

int p[10010];  
int a[10010];

int find(int x){  
    if(x!=p[x])p[x]=find(p[x]);  
    return p[x];  
}  

void _union(int a,int b){  
    int fa=find(a);  
    int fb=find(b);  
    p[fa]=fb; 
}  

int main(){
    int n;
    cin>>n;

    for(int i=1;i<=n;i++){
        p[i] = i;
        cin>>a[i];
    }

    for(int i=1;i<=n;i++){
        _union(i,a[i]);
    }

    set<int> S;

    for(int i=1;i<=n;i++){
        S.insert(find(i));
    }

    cout<<S.size()<<endl;

    return 0;
}

D. PolandBall and Polygon

思考一下,可以发现,每条线的跨度是一样的,所以,只有与当前连线距离小于 k 的已存在的连线,会与当前连线相交,用数据结构维护一下,每次查询符合要求的线已有多少条。注意k>n/2时的情形。

#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int maxn = 1000010;

int n,k;

int c[maxn];

inline int lowbit(int x){  
    return x&(-x);  
}  

void update(int pos){  
    while(pos<=n){  
        c[pos]++;  
        pos+=lowbit(pos);  
    }  
}  

int query(int pos){  
    int re=0;  
    while(pos){  
        re+=c[pos];  
        pos-=lowbit(pos);  
    }  
    return re;  
}  

int Q(int l,int r){
    if(r >= l){
        return query(r) - query(l-1);
    }else{
        return Q(1,r) + Q(l,n);
    }
}

int main(){
    cin>>n>>k;
    if(k > n/2){
        k = n-k;
    }

    int pos = 0;
    update(1);
    ll ans = 1;

    for(int i=0;i<n;i++){
        int l = pos-k+1;
        int r = pos+k-1;

        pos += k;
        pos %= n;

        if(l<0){
            l+=n;
        }
        if(r>=n){
            r-=n;
        }

        int tmp = Q(l+1,r+1)-1;
        ans += (tmp+1);

        printf("%I64d ",ans);
        update(pos+1);
    }
    return 0;
}

E. PolandBall and White-Red graph

构造题。可以发现,只有 k=2 和 k=3 时可能有解。 k=2 时,一个大环就是解, k=3 时,造一个仅少一条边的二分图即可。

#include <bits/stdc++.h>

using namespace std;

#define ll long long

int main(){
    int n,k;
    cin>>n>>k;
    if(n==4){
        if(k!=3){
            cout<<-1<<endl;
        }else{
            int half = n/2;
            int half2 = n-half;
            cout<<half*half2 - 1<<endl;
            for(int i=1;i<=half;i++){
                for(int j=half+1;j<=n;j++){
                    if(!(i==1 && j==half+1))printf("%d %d\n",i,j);
                }
            }
        }
    }else if(n>4){
        if(k == 2){
            cout<<n-1<<endl;
            for(int i=1;i<n;i++){
                cout<<i<<" "<<i+1<<endl;
            }
        }else if(k == 3){
            int half = n/2;
            int half2 = n-half;
            cout<<half*half2 - 1<<endl;
            for(int i=1;i<=half;i++){
                for(int j=half+1;j<=n;j++){
                    if(!(i==1 && j==half+1))printf("%d %d\n",i,j);
                }
            }
        }else{
            cout<<-1<<endl;
        }
    }else{
        cout<<-1<<endl;
    }
    return 0;
}

F. PolandBall and Gifts

容易看出,最大值贪心可解,最小值是个背包问题,直接跑多重背包,压到bieset里面优化。

#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int maxn = 1000010;
int p[maxn];
bool vis[maxn];

int main(){ 
    int n,k;
    cin>>n>>k;

    for(int i=1;i<=n;i++){
        scanf("%d",&p[i]);
    } 

    vector<int> cir;
    for(int i=1;i<=n;i++){
        if(!vis[i]){
            int t = i;
            int len = 0;
            while(!vis[t]){
                vis[t] = 1;
                t = p[t];
                len++;
            }
            cir.push_back(len);
        }
    }
    sort(cir.begin(),cir.end());

    int MAX = 0;
    int kk = k;
    for(int i=0;i<cir.size();i++){
        int tmp = cir[i];
        while(tmp >= 2 && kk > 0){
            MAX += 2;
            kk--;
            tmp -= 2;
        }
    }
    MAX += kk;
    MAX = min(MAX,n);

    vector<int> vec;
    cir.push_back(-1);
    int s = 0;
    for(int i=1;i<cir.size();i++){
        while(cir[i] == cir[i-1]){
            i++;
        }
        int t = i - s;
        s = i;
        int j = 0;
        while(t){
            int tmp = min(1<<j,t);
            t -= tmp;
            j++;
            vec.push_back(cir[i-1]*tmp);
        }
        if(cir[i] == -1){
            break;
        }
    }

    bitset<maxn> bs[2];
    int cur = 0, pre = 1;
    bs[cur][0] = 1;
    for(int i=0;i<vec.size();i++){
        swap(cur,pre);
        bs[cur] = bs[pre] | (bs[pre]<<vec[i]);
    }
    int MIN = k + 1 - bs[cur][k];

    cout<<MIN<<" "<<MAX<<endl;

    return 0;
}
全面指南:PyTorch与ROCm版本兼容性及多版本环境管理 本文详细介绍了在AMD GPU上配置PyTorch开发环境的完整流程,重点解决版本兼容性和多版本ROCm环境管理问题。主要内容包括:1) PyTorch与ROCm版本对应关系查询;2) 四种查看ROCm版本的方法;3) 使用update-alternatives管理多版本ROCm;4) 环境变量配置与冲突解决方案;5) 完整的验证流程和性能测试方法。文章提供了最佳实践建议和故障排除清单,帮助开发者快速搭建稳定高效的深度学习开发环境,充分发挥AMD GPU硬件性能。通过系统化的验证流程确保各组件协同工作,解决 阅读详情

相关推荐

避坑指南:C#用S7NetPlus读写西门子PLC字符串(String/WString)的完整方案

本文详细解析了C#通过S7NetPlus读写西门子PLC字符串(String/WString)的完整方案,包括内存布局、编码差异和字节序处理等关键技术细节。提供了实战优化的代码示例和常见问题排查指南,帮助开发者避免乱码、截断等常见陷阱,提升工业自动化项目的开发效率。

weixin_32956805的博客 320

codeforces 8VC Venture Cup 2017 - Elimination Round D PolandBall and Polygon

D. PolandBall and Polygon time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output PolandBall has such a convex poly

jerans的博客 726

香橙派OPi 6系列选型指南:RK3588与RK3588S开发板深度对比

开发板选型是嵌入式系统设计的关键环节,尤其在边缘计算和AI推理等场景中,芯片的差异直接影响硬件架构。瑞芯微RK3588及其精简版RK3588S是当前高端开发板的核心方案,两者在PCIe通道、显示输出和SATA支持上存在显著区别。理解这些原理,有助于工程师根据项目需求快速匹配产品。香橙派OPi 6系列基于这两款芯片,衍生出OPi 6、OPi 6 Pro与OPi 6 Max三种形态:紧凑型适合嵌入式门禁与AI盒子,Pro版凭借双屏异显和PCIe 3.0满足收银机与视频分析,Max的双2.5G网口和大内存则面向轻

weixin_29185167的博客 227

Codeforces 8VC Venture Cup 2017 - Elimination Round D.PolandBall and Polygon

传送门:PolandBall and Polygon 题意:给定n条边的凸多边形,保证这种凸多边形任意三条对角线不会交于一点,然后从一顶点出发,每次走K步,然后将出发点与终点连接起来,输出此时多边形被分成的块数,重复此步骤n次。 解法:个人感觉就是多画几个图找规律。。或者你的几何学的好能推出公式或规律来,我发现的规律就是每画一条对角线,增加的块数等于该对角线跨过的对角线条数+1,也等于走的K步

WA是一笔财富 689

ESP32 WiFi自平衡小车硬件与PID控制实战

自平衡小车是典型的嵌入式实时反馈控制系统,其核心依赖姿态感知(如MPU6050)、电机驱动(如L298N)与闭环控制算法(如PID)的协同。系统通过IMU采集俯仰角,经互补滤波融合处理,再由PID控制器实时计算PWM输出,驱动直流电机产生恢复力矩;WiFi模块(ESP32内置)则提供远程遥控接口,实现AP模式下的Web指令交互。该架构兼具硬实时性(毫秒级采样与响应)与软实时性(HTTP服务),广泛应用于机器人教学、智能小车开发及边缘控制原型验证。本文围绕ESP32平台,详解传感器接口、驱动电路设计、PID抗

weixin_42509513的博客 391

快乐8 Ai大模型XGBoost LightGBM预测系统

随机森林回归:通过集成多个决策树模型,提高预测的准确性和稳定性。XGBoost:一种基于梯度提升的强大模型,擅长处理结构化数据。LightGBM:一种高效的基于决策树算法的分布式梯度提升框架,具有快速的训练速度和低内存消耗。高预测准确率:通过集成多种模型,提供更为精准的预测结果。多种预测方法:支持同尾号、重号、温号、连号和综合预测等多种预测策略,满足不同用户的需求。实时日志:在预测过程中,用户可以实时查看系统的预测进度和结果。

m0_72636583的博客 1万+

Codeforces 8VC Venture Cup 2016 - Elimination Round

C. Block Towers贪心,先分别尽量用低的高度,标记哪些高度用过了。对于那些冲突的,选一个尽可能低的来用。二分答案也可以,并且还有用公式O(1)O(1)的解法。#include <bits/stdc++.h>using namespace std;#define ll long long bool vis[5000010];int main(){ int n,m; cin>

A Cube Master 676

AI初识—LLM、Ollama、Llama都是些个啥?

LLM指的是大语言模型(Large Language Model),是一种基于深度学习的模型,能够理解和生成自然语言。它通过大量文本数据进行训练,具备了理解上下文、生成连贯文本和回答问题的能力。著名的LLM包括OpenAI的GPT系列和Google的BERT。在AI技术快速发展的背景下,LLM、Ollama和Llama代表了现代自然语言处理的不同方面。LLM为我们提供了强大的语言理解能力,Ollama为模型的部署和管理提供了便利,而Llama则在效率和多样性上不断推进。

小蜗牛的珍贵百宝箱 4629

8VC Venture Cup 2016 - Elimination Round E. Simple Skewness(枚举+三分)

题目链接:点击打开链接 题意:给你n个数, 要求选若干个数, 使得这些数的平均数减去中位数尽量大。 思路:由于该题没有顺序问题, 排好序之后我们可以枚举中位数, 可以证明, 奇数个数一定比偶数优,然后三分中位数左右区间长度x(数的个数), 在中位数的右边选最大的x个数, 在左边也选最大的x个, 这样, 随着区间长度的增加, 平均数将先增大后减小, 或者一直减小,或者一直增大。 为什么呢? 假

AC_Arthur的专栏 1758

【科研绘图系列】R语言绘制代谢物与临床表型相关性的森林图

本研究通过森林图展示了特定代谢物与三种临床比较之间的相关性分析结果。这种方法不仅直观地展示了每个代谢物的效应大小和不确定性,还允许我们比较不同代谢物在不同临床比较中的影响。森林图的结果表明,某些代谢物在特定临床比较中显示出显著的相关性,这可能为理解疾病的代谢机制提供了重要线索。

专注生信领域 565

全志V3S嵌入式驱动开发(uboot移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一般来说,嵌入式的基础环境就是uboot、linux和rootfs。uboot完成一些基本硬件的初始化,比如cpu频率设置、ddr初始化、加载linux等等。早前,uboot的烧入比较麻烦,需要jtag工具才能完成。现在来说,很多soc支持系统直接从sd卡启动,这对开发

嵌入式-老费,一个分享专业嵌入式知识的blog 2818

Codeforces8VC Venture Cup 2016 - Elimination RoundA---F

A. Robot Sequence 题意:给定一个字符串,每个字符代表向上下左右其中方向移动一个单位,找出能回到原位置的子串数目。 暴力枚举.#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<queue> #include<vector> #include<set> #include<map

ws_yzy的博客 1051

两点调制原理以及RF DAC和PLL SDM两条输入路径理解

特性数据本质原始数字比特流 (0/1)平滑后的预失真波形数据连接对象Σ-Δ调制器 (SDM)的小数输入RF DAC在系统中的角色主调制路径:通过改变PLL分频比产生频率偏移辅助补偿路径:通过RF DAC产生补偿电压,校正PLL失真可否加入延时可以且必须。用于数字时序对齐,对性能无影响。绝对不可以。会导致补偿失配,严重破坏信号频谱。功能目标实现数字域的频率调制确保模拟域的波形和频谱完美因此,在您所描述的这种先进发射机架构中,2-point数据是数字指令,送给SDM;

m0_49540263的博客 604

8VC Venture Cup 2017 - Elimination Round D. PolandBall and Polygon 树状数组

D. PolandBall and Polygon 链接: http://codeforces.com/contest/755/problem/D 代码: 1 #include &lt;iostream&gt; 2 #include &lt;cstdio&gt; 3 #include &lt;cstring&gt; 4 #include &lt;cmath&gt...

花海 131

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

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

Codeforces 8VC Venture Cup 2016 - Elimination Round解题报告

实际上苟蒻只会做四题。。 A. Robot Sequence time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Calvin the ro

CRZbulabula的博客 1450

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

8VC Venture Cup 2017 - Elimination Round

传送门:http://codeforces.com/contest/755 A题题意是给你一个数字n,让你找到一个数字m,使得n*m+1为合数,范围比较小,直接线性筛出1e6的质数,然后暴力枚举一下就好了。 #include <iostream> #include <cstdio> #include <cstring> #include &lt...

weixin_30575309的博客 89

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

8VC Venture Cup 2017 - Elimination Round - B

题目链接:http://codeforces.com/contest/755/problem/B 题意:给定PolandBall 和EnemyBall 这2个人要说的单词,然后每一回合轮到的人要说一个单词,之前说过的单词不能再说,当轮到某个人的回合没单词说即输。每人都采取最优策略,PolandBall 先说问PolandBall 是否能赢。 思路: 首先两个的单词可以分为相同和不相同两个...

weixin_34133829的博客 131

8VC Venture Cup 2016 - Elimination Round-C. Block Towers(二分或暴力+数学)

C. Block Towers time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Students in a class are making towers of bl

梧桐下的四叶草 635

8VC Venture Cup 2017 - Elimination Round - C

题目链接:http://codeforces.com/contest/755/problem/C 题意:PolandBall 生活在一个森林模型的环境中,定义森林由若干树组成,定义树为K个点,K-1条无向边的图。现在给定每个家庭在对应的树上离他最远的另一个家庭的编号。问这个森林有多少棵树组成。 思路:由于只给出了每个点在树上离他最远的点的坐标而不知道整体结构,但是可以知道该点和给定离他最...

weixin_34138255的博客 130

8VC Venture Cup 2016 - Elimination Round B. Cards 瞎搞

B. Cards 题目连接: http://www.codeforces.com/contest/626/problem/B Description Catherine has a deck of n cards, each of which is either red, green, or blue. As long as there are at least two cards left, s...

weixin_34279184的博客 149

Codeforces 8VC Venture Cup 2016 - Elimination Round F. Group Projects 差分DP*****

F. Group Projects There arenstudents in a class working on group projects. The students will divide into groups (some students may be in groups alone), work on their independent pieces...

weixin_30892987的博客 169

8VC Venture Cup 2016 - Elimination Round F. Group Projects dp

题目链接:http://codeforces.com/contest/626/problem/F 题意: 有n个人,每个人有能力值ai,你需要去将这n个人分组每一组的分值是这一个组的最大值减去最小值,你需要使得所有组的分值和小于等于k问你方案数一共有多少种解法:dp我们先排序,这样好DPdp[i][j][k]表示考虑了i个人,现在open的组有j个(只有最小值,没有最大值的组),分值和为k的方案

I good vegetable a! 561

8VC Venture Cup 2016 - Elimination Round C. Block Towers 二分

C. Block Towers 题目连接: http://www.codeforces.com/contest/626/problem/C Description Students in a class are making towers of blocks. Each student makes a (non-zero) tower by stacking pieces lengthwise o...

weixin_33963594的博客 136

8VC Venture Cup 2016 - Elimination Round A. Robot Sequence 暴力

A. Robot Sequence 题目连接: http://www.codeforces.com/contest/626/problem/A Description Calvin the robot lies in an infinite rectangular grid. Calvin's source code contains a list of n commands, each eith...

weixin_30587025的博客 83

8VC Venture Cup 2016 - Elimination Round G. Raffles 线段树

G. Raffles 题目连接: http://www.codeforces.com/contest/626/problem/G Description Johnny is at a carnival which has n raffles. Raffle i has a prize with value pi. Each participant can put tickets in whiche...

weixin_33896726的博客 141
上一篇: Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 - Elimination Round 2)
下一篇: Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined)
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值