Educational Codeforces Round 1(远古edu计划)

A.

高斯求和,如果2次幂小于n就减2次

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long long ll;
const int N=2e5+9;
int a[N];
int f[N],vis[N];
ll sn(ll a1,ll an,ll num){return (a1+an)*num/2;}
void init(){f[1]=1;for(int i=2;i<=32;i++){f[i]=f[i-1]*2;}
}
void lan(){ll n;cin>>n;ll ans=0;ans=sn(1,n,n);int pos=1;while(f[pos]<=n){ans-=f[pos]*2;pos++;}cout<<ans<<'\n';}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);init();int q;cin>>q;while(q--){lan();}return 0;
}

B.

知道周期是r-l+1,模拟一下就好了,超过周期mod一下

学到了一个rotate(起始点的前一个,终止点,旋转到这个点的后面,之前的片段删除)

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long long ll;
const int N=2e5+9;
char t[N];
string s;
void work(int l,int r,int k){//模拟过程int len=r-l+1;//周期是长度for(int i=l;i<=r;i++){t[(i-l+k)%len]=s[i];//模拟移动超过k回到l自然modlen}for(int i=l;i<=r;i++){s[i]=t[i-l];//转移}return;
}
void lan(){cin>>s;int m;cin>>m;while(m--){int l,r,k;cin>>l>>r>>k;//l从1开始,s从0开始要对应索引work(l-1,r-1,k);// rotate(s.begin()+l-1,s.begin()+r-k,s.begin()+r);}cout<<s<<'\n';
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q=1;while(q--){lan();}return 0;
}

C.

极角排序,找最小的差值即可

1.atan

#include<bits/stdc++.h>
using namespace std;
typedef long double ld;//防止精度问题
const int N=2e5+9;
const ld pi=acos(-1);//arccos-1==pi,cos(pi)==-1
struct node{int x,y,id;ld ang;//弧度
}a[N];
bool cmp(node a,node b){return a.ang<b.ang;//极角排序
}
ld calc(node x){ld xi=abs(x.x),yi=abs(x.y);if(x.x>=0&&x.y>=0) return atan(xi/yi)*180/pi;//第一象限if(x.x>=0&&x.y<0) return atan(yi/xi)*180/pi+90;//第二象限if(x.x<0&&x.y<0) return atan(xi/yi)*180/pi+180;//第三象限if(x.x<0&&x.y>=0) return atan(yi/xi)*180/pi+270;//第四象限
}
void lan(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i].x>>a[i].y;a[i].id=i;}for(int i=1;i<=n;i++){a[i].ang=calc(a[i]);}sort(a+1,a+1+n,cmp);int pos=n;ld ans=min(a[n].ang-a[1].ang,360-a[n].ang+a[1].ang);for(int i=1;i<=n-1;i++){ld res=min(a[i+1].ang-a[i].ang,360-a[i+1].ang+a[i].ang);if(res<ans){//找差值小的ans=res;pos=i;}}cout<<a[pos].id<<" "<<a[pos%n+1].id<<'\n';
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q=1;while(q--){lan();}return 0;
}

2.atan2

#include<bits/stdc++.h>
#define INF 1e9
using namespace std;
typedef long double ld;
vector<pair<ld,int> > a;
int n,ansx,ansy;
ld sum=INF;
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int n;cin>>n;for(int i=0;i<n;i++){ld x,y;cin>>x>>y;a.push_back({atan2(y,x),i+1});//辐角}sort(a.begin(),a.end());//排序a.push_back(a[0]);for(int i=0;i<n;i++){ld x=a[i+1].first-a[i].first;if(x<0)x+=2*acos(-1);//加一个周期if(x<sum)sum=x,ansx=a[i].second,ansy=a[i+1].second;//找最小差值}printf("%d %d",ansx,ansy);return 0;
}

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

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

相关文章

【Linux】内核中的链表

&#x1f525;博客主页&#xff1a;PannLZ &#x1f38b;系列专栏&#xff1a;《Linux系统之路》 &#x1f94a;不要让自己再留有遗憾&#xff0c;加油吧&#xff01; 文章目录 链表1.创建和初始化2.创建节点3.添加节点4.删除节点5.遍历 链表 内核开发者只实现了循环双链表&am…

Android 9.0 禁用adb install 安装app功能

1.前言 在9.0的系统产品定制化开发中,在进行一些定制开发中,对于一些app需要通过属性来控制禁止安装,比如adb install也不允许安装,所以就需要 熟悉adb install的安装流程,然后来禁用adb install安装功能,接下来分析下adb 下的安装流程 2.禁用adb install 安装app功能的…

1. pick gtk dll 程序的制作

文章目录 前言预览细节要点初始窗口尺寸提示音快速提示信息对话框AlertDialog鼠标移入移出事件布局与父子控件关系图片 后续源码及资源 前言 在之前的打包测试中我提到了需要一个挑选dll的程序于是我打算用Gtk来制作这个程序 预览 细节要点 初始窗口尺寸 只有主窗口有set_d…

unity显示图片

目录 创建c#脚本 自己创建gui组件&#xff1a; 入门教程&#xff1a; 读取图片&#xff1a; Unity读取图片并显示到UI中 显示双目相机&#xff0c;可以跑通 unity3d显示图片 参考教程&#xff0c;GameObject Unity UGUI的Image&#xff08;图片&#xff09;组件的介绍及…

基于无线传感器网络的LC-DANSE波束形成算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1LC-DANSE算法原理 4.2 LCMV算法原理 5.完整程序 1.程序功能描述 在无线传感器网络中&#xff0c;通过MATLAB对比LC-DANSE波束形成算法和LCMV波束形成算法。对比SNR&#xff0c;mse等指标…

Day45- 动态规划part13

一、最长递增子序列 题目一&#xff1a;300. 最长递增子序列​​​​​​​ ​​​​​​​300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数…

Java中的IO介绍

本章内容 一 、File概念 File可以代表一个目录或者一个文件&#xff0c;并不能代表文件的内容 文件和流的区别&#xff1a;File关注的是文件本身的特征&#xff0c;如名称、路径、修改时间、大小。 流关注的是文件的内容。 二、File基本的操作 常见构造方法 | File(String p…

以用户为中心,酷开科技荣获“消费者服务之星”

在企业顺应消费升级的道路中&#xff0c;企业自身不仅要着力强化对于消费者服务意识的提升&#xff0c;并且要树立诚信自律的行业示范带头作用&#xff0c;助力消费环境稳中向好&#xff0c;不断满足人民群众对美好生活的期待。企业的发展需要消费者的认可&#xff0c;酷开科技…

算法刷题框架

前言&#xff1a;最近积累了一些算法题量&#xff0c;正在刷东神的算法笔记&#xff0c;监督自己记录下读后启发&#xff0c;顺便帮助道友们阅读 数据结构 这一部分老生常谈&#xff0c;数据的存储方式只有顺序存储和链式存储。 最基本的数组和链表对应这两者&#xff0c;栈…

常见的单片机及其功能

在当今电子技术快速发展的时代&#xff0c;单片机作为核心组件&#xff0c;在各类电子项目和产品中扮演着至关重要的角色。它们的应用范围从简单的家用电器控制到复杂的工业自动化系统&#xff0c;几乎无处不在。接下来&#xff0c;我们将以轻松的语言&#xff0c;探讨几种广泛…

放大器设计

目录 简介单阶段放大器:低噪声放大器例题例题2例题3简介 放大器能够放大信号,是电路设计中不可或缺的一种重要软件。根据应用和结构的不同,可以将放大器分为三类。 小信号:设计目标是在输入输出匹配条件下,获取一个特定的传输增益,对输出信号的功率没有要求。低噪声:相…

Spring 如何解决循环依赖?Spring三级缓存

什么是循环依赖 说白是一个或多个对象实例之间存在直接或间接的依赖关系&#xff0c;这种依赖关系构成了构成一个环形调用。 自己依赖自己 两个对象间的依赖关系 多个对象间的依赖关系 Spring出现循环依赖的场景 单例的setter注入 Service public class A {Resourceprivate…

C# 线程与线程池的使用方法、注意事项

在C#中&#xff0c;线程和线程池是两种用于实现多线程编程的方式。线程用于执行并发任务&#xff0c;而线程池提供了一种更有效率的方式来管理和复用线程资源。 C# 线程&#xff08;System.Threading.Thread&#xff09; 创建和启动线程&#xff1a; Thread thread new Thre…

AI算法工程师-非leetcode题目总结

AI算法工程师-非leetcode题目总结 除了Leetcode你还需要这些实现nms旋转矩形IOU手动实现BN手动实现CONV实现CrossEntropyLoss 除了Leetcode你还需要这些 希望大家留言&#xff0c;我可以进行补充。持续更新~~~ 实现nms import numpy as np def nms(dets, threshold):x1 dets…

五(一)java高级-集合-集合与迭代器(二)

5.1.2 Iterator迭代器 1、Iterator 所谓迭代器&#xff1a;就是用于挨个访问集合元素的工具/对象 方法&#xff1a; boolean hasNext():判断当前遍历集合后面是否还有元素可以迭代Object next():取出当前元素&#xff0c;并往后移→noSuchelementExceptionvoid remove():删…

通过容器化释放云的力量

NCSC (英国国家网络安全中心) 经常被问到的一个问题是是否在云中使用容器。这是一个简单的问题&#xff0c;但答案非常微妙&#xff0c;因为容器化的使用方式有很多种&#xff0c;其中一些方法比其他方法效果更好。 今天&#xff0c;我们发布了有关使用容器化的安全指南&#…

「深度学习」dropout 技术

一、工作原理 1. 正则化网络 dropout 将遍历网络的每一层&#xff0c;并设置消除神经网络中节点的概率。 1. 每个节点保留/消除的概率为0.5: 2. 消除节点&#xff1a; 3. 得到一个规模更小的神经网络&#xff1a; 2. dropout 技术 最常用&#xff1a;反向随机失活 "…

锐捷(二十一)全局地址绑定

vlan划分和vlanif接口配置略&#xff0c;注意vlanif接口里要no shutdown配置如下&#xff1a; Address-bind 192.168.1.1 AAAA.BBBB.CCCCAddress-bind uplink g0/0Address-bind binding-filter loggingAddress-bind install 此时&#xff0c;IP为192.168.1.1 mac地址为AAAA.B…

『运维备忘录』之 Netstat 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

Python中Pymysql库的常见用法和代码示例

关注B站可以观看更多实战教学视频&#xff1a;肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) pymysql是一个用于连接MySQL数据库的Python库&#xff0c;它允许你执行SQL查询并处理返回的结果。以下是pymysql库的一些常见用法和代码示例&#xff1a; 1. 安装…