团队训练记录2024.10.5

news/2024/10/5 20:13:11/文章来源:https://www.cnblogs.com/cjcf/p/18448396

这次double精度上卡了,赛时和学校强队差两题
题目链接:https://codeforces.com/gym/104023/problem

A. Dunai

队友写的,答案在总冠军位人数和位置上冠军加非冠军人数最小取min?

#include<bits/stdc++.h>
#define test(i) cout << #i << " "<< i << " " << endl;
#define endl '\n'using namespace std;
typedef long long ll;const int INF=0x3f3f3f3f;
const int N=2e5+5;ll t,n;ll cnt[10];
ll cnt1[10];
map<string,ll> mp;//队伍数量
map<string,ll> vis;void fio(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}signed main()
{fio();ll m,num;cin >> n;string str,name;for(int i=1; i<=n; i++){for(int j=1; j<=5; j++){cin >> name;vis[name]++;}}cin >> m;for(int i=1; i<=m; i++){cin >> str >> num;if(vis[str]) cnt1[num]++;else cnt[num]++;}ll ans=0;ll tmp=1e9+1;for(int i=1; i<=5; i++){ans+=cnt1[i];tmp=min(cnt1[i]+cnt[i],tmp);}cout << min(ans,tmp) << endl;return 0;
}

E. Python Will be Faster than C++

队友写的

#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
typedef  long long ll;
typedef char ElemType;
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}ll n, k;
ll a[100];
int main() {cin >> n >> k;for (int i = 1; i <= n; i++) {cin >> a[i];}for (int i = 1; i <= n; i++) {if (a[i] < k) {cout << "Python 3."<<i<<" will be faster than C++"<<endl;return 0;}}if (a[n] >= a[n - 1]) {cout << "Python will never be faster than C++"<<endl;}else {if (a[n] == k) {cout<< "Python 3." << n+1 << " will be faster than C++" << endl;}else {ll ans = (a[n] - k) / (a[n-1] - a[n]) + 1;cout << "Python 3." << n+ans << " will be faster than C++" << endl;}}
}

G. Grade 2

打表得规律

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll x,ll y)
{if(y==0)return x;elsereturn gcd(y,x%y);
}
map<ll,ll>q;
ll a[2550];
ll g[2500000];
int main()
{
ll x,n;
cin>>x>>n;
ll cnt=0;
ll u=x;
//ll j=*lower_bound(a+1,a+1+cnt,x);
for(ll i=1;i<=31;i++)
{q[1ll<<i]++;cnt++;a[cnt]=1ll<<i;
}
ll j=*lower_bound(a+1,a+1+cnt,x);
for(ll i=1;i<=j;i++)
{g[i]=0;
}
for(ll i=1;i<=j;i++)
{g[i]=g[i-1]+(gcd(((i*x)^x),x)==1);
}
x=j-1;
while(n--)
{ll l,r;cin>>l>>r;if(q[u]>0){cout<<0<<endl;}else{ll u=(l-1)/(x+1);ll l1=1+u*(x+1);//左边周期ll k=(r-1)/(x+1);ll r1=(x+1)+(k)*(x+1);// cout<<u<<" "<<l1<<" "<<k<<" "<<r1<<endl;//   cout<<g[l-1-l1+1]<<endl;cout<<(k-u+1)*(g[x+1])-g[l-1-l1+1]-(g[x+1]-g[((x+1)-(r1-r))])<<endl;}
}
}

I. Dragon Bloodline

优先队列+二分+unsigned long long

#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
typedef unsigned long long ll;
ll a[50010];
long long  b[30];
ll c[30];
ll n, k;
bool ck(long long  x)
{priority_queue<ll>q;for (ll i = 1; i <= n; i++){q.push((ll)a[i] * x);}while (!q.empty()){int ans = 0;ll op = q.top();for (ll j = k; j >= 1; j--){if (c[j] > 0){if (op <= b[j]){c[j]--;q.pop();}else{ll u = op / b[j];u = min(u, c[j]);op -= u * b[j];c[j] -= u;q.pop();if (op > 0)q.push(op);}break;}elseans++;}if (ans == k)break;}if (q.size() == 0){return 1;}elsereturn 0;
}
ll d[25];
int main()
{ll t;cin >> t;while (t--){cin >> n >> k;for (ll i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= k; i++){cin >> c[i];d[i] = c[i];b[i] = (1ll << (i - 1));}long long  l = 1, r = 1e18;while (l <= r){for (ll i = 1; i <= k; i++)c[i] = d[i];long long  mid = (l + r) >> 1;if (ck(mid))l = mid + 1;elser = mid - 1;}cout << r << endl;}
}

J. Eat, Sleep, Repeat

双端队列模拟

#include<map>
#include<iostream>
#include<set>
#include<deque>
using namespace std;
typedef long long ll;
void fio()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
}
ll gcd(ll x, ll y)
{if (y == 0)return x;elsereturn gcd(y, x % y);
}
map<ll, ll>q, e;
ll a[255000];
ll g[250000];
set<pair<ll, ll>>f;
int main()
{fio();ll t;cin >> t;while (t--){f.clear();q.clear();e.clear();ll n, m;cin >> n >> m;for (ll i = 1; i <= n; i++){cin >> a[i];q[a[i]]++;}for (ll i = 1; i <= m; i++){ll x, y;cin >> x >> y;f.insert({ x,y });e[x]++;}for (ll i = 1; i <= n; i++){if (e[a[i]] == 0){e[a[i]]++;f.insert({ a[i],(1e16 + 1) });}}ll u = -1;deque<pair<ll, ll>>lo;if (e[0] == 0){e[0]++;f.insert({ 0,1e16 + 1 });}ll ans = 0;ll cnt = -99999999999999;for (auto j : f){if (q[j.first] > j.second){ans = 0;break;}//cout<<j.first<<" "<<j.second<<endl;cnt++;if (cnt > 0 && j.first != cnt){lo.push_back({ 1e16 + 5,cnt });cnt = -9999999999999;}if (lo.empty()){ll op = j.second - q[j.first];q[j.first] = 0;if (op > 0){lo.push_back({ op,j.first });}cnt=j.first;continue;}if (j.second != 0){while (!lo.empty()){if (lo.front().first >= q[j.first]){ll c = lo.front().second;ll k = lo.front().first - q[j.first];cnt = j.first;ans += q[j.first] * (j.first - lo.front().second);q[j.first] = 0;lo.pop_front();if (k != 0){lo.push_front({ k,c });}lo.push_back({ j.second,j.first });break;}else{ll c = lo.front().second;ll k = -lo.front().first + q[j.first];cnt = j.first;ans += lo.front().first * (j.first - lo.front().second);q[j.first] = k;lo.pop_front();}if(lo.empty()){ll op = j.second - q[j.first];lo.push_back({ op,j.first });cnt = j.first;break;}}}else{lo.clear();cnt = j.first;continue;}}//cout << ans << endl;if (ans % 2 == 0){cout << "FuuFuu" << endl;}elsecout << "Pico" << endl;}
}

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

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

相关文章

PAIRDISTILL: 用于密集检索的成对相关性蒸馏方法

在当今海量数据时代,有效的信息检索(IR)技术对于从庞大数据集中提取相关信息至关重要。近年来,密集检索技术展现出了相比传统稀疏检索方法更加显著的效果。 现有的方法主要从点式重排序器中蒸馏知识,这些重排序器为文档分配绝对相关性分数,因此在进行比较时面临不一致性的挑战。…

School New Competition WP

试验一下博客园的基础功能,顺便把学校战队招新赛的Wp传一下, alpaca_search: 直接burp爆破把密码搞出来,在burp多抓几次包会在正确的包里发现一个新的cookie名count,count记录了正确的值 ,然后把它改成999再多发几次包,发到正确的那一个后就拿到了flag RCE_ME!!! 题目直…

pytorch环境安装

pytorch环境安装 1.基础安装 首先安装anaconda打开,进入base,输入命令,这里-n后跟的是环境名字,再往后是python版本,不要太高 conda create -n pytorch python=3.8安装的时候有按y的就按y 创建成功后使用下面命令进入创建的环境 conda activate pytorch2.安装需要的库 pip…

[Trick] 格路记数 - 反射容斥

Perface 模拟赛不会被冲烂了。 Problem I 从 \((0,0)\) 到 \((n,m)\) 方案数。 解法: \(C(n+m,m)\)。 Problem II 从 \((0,0)\) 到 \((n,m)\) 方案,但是不能经过 \(y=x+b\) 的直线。 解法: 考虑映射法。 以一条路径第一次碰到直线的位置为起点,之后所有的路线和 \(y=x+b\) …

Burp功能 细解析

情境 第六周的培训甚是有趣, 更加详细的介绍了Burp工具的功能和使用细节. 虽然很有趣, 但是我学得很慢, 练习达到熟练掌握还需要练习. 以下是第五次培训的练习题 以及我的解答. 最后一题手生, 一开始没做出来.1、安装burp,分别在本机上实现全局代理和局部代理,提供设置过程的…

高级语言程序设计第二次作业(102400106刘鑫语)

这个作业属于课程:https://edu.cnblogs.com/campus/fzu/2024C/ 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400106 姓名:刘鑫语 程序清单 最初都很顺利 3.1 3.2 3.3 3.4 3.5 3.6 出现了问题但一直没能解决,回宿舍后试着改成c99 依然报错,…

快乐数学4弧度

4 弧度 我们大多数人都不知道为什么圆要有 360 度。在学习高等数学或物理时,我们会记住一个神奇的数字--“圆的大小”,并将自己设置为一个 “圆的360度”。 专家们说:“弧度让数学变得更简单!”但却没有简单的理由(涉及泰勒级数的讨论并不简单)。今天,我们将揭开弧度的真…

序列化器ser.validated_data、ser.initial_data、ser.data

class LoginPwdSerializer(serializers.Serializer):mobile = serializers.CharField(required=True, validators=[RegexValidator(r"\d{11}", message="格式错误")])password = serializers.CharField(required=True)def validate_mobile(self, value):ex…

12-网络安全审计技术原理与应用

12.1 概述 1)概念 :指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。 作用:在于建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便于发现潜在的网络安全威胁行为,开展网络安全风险分析及管理。 …

林史语其十(101-111)【下半更新】

12345鉴于收集素材与发布素材之间有一定延迟,此后林史一章分两次更新 先把存的旧东西发一下 #101故事源于 joke3579 学长博客里一份证明,涉及到求不定积分的 如果你不知道啥是不定积分,你只需要知道它是导数逆运算就行了 学长博客里写的是 :\(A\) 求导后等于 \(B\) HDK:\(…

林史语其十(101-110)【下半更新】

12345鉴于收集素材与发布素材之间有一定延迟,此后林史一章分两次更新 先把存的旧东西发一下 #101故事源于 joke3579 学长博客里一份证明,涉及到求不定积分的 如果你不知道啥是不定积分,你只需要知道它是导数逆运算就行了 学长博客里写的是 :\(A\) 求导后等于 \(B\) HDK:\(…

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径 题目链接 题意:思路: 若当前点到最远的点的距离 \(< k\) , 说明 \(x\) 自己成为一个联通块。 并且我们知道距离任意一点最远的点一定是树直径的一个端点。 反之,则与直径端点在同一个联通块。 所以一个点要么独立…