当前位置: 首页 > news >正文

20257月29日-8月2日训练日志

2024睿抗国赛

RC-u1 大家一起查作弊

模拟题

#include <bits/stdc++.h>
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;void solve(){string s;int sco = 0,len = 0,count = 0;while(getline(cin,s)){s+="\n";int n = s.size();string ss = "";for(int i=0;i<n;i++){if((s[i]>='A'&&s[i]<='Z') || (s[i]>='a'&&s[i]<='z') || (s[i]>='0'&&s[i]<='9')){ss.push_back(s[i]);}else{len+=ss.size();if(ss.size())count++;bool da = 0,xiao = 0,shuzi = 0;for(int u=0;u<ss.size();u++){if(ss[u] >= 'A' && ss[u] <= 'Z'){da = 1;}else if(ss[u] >= 'a'&&ss[u]<='z'){xiao = 1;}else if(ss[u]>='0' && ss[u]<='9'){shuzi = 1;}}if(da && xiao && shuzi){sco += 5;}else if((da&&shuzi) || (xiao&&shuzi)){sco+=3;}else if(da&&xiao){sco+=1;}ss = "";}}}cout<<sco<<endl<<len<<" "<<count;
}signed main() {FASTint t = 1;//cin>>t;while(t--)solve();return 0;
}

RC-u2 谁进线下了?II 

用好STL的话这个题就很简单了

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;
int arr[21] = {0,25,21,18,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
void solve(){int n;cin>>n;unordered_map<int,int>mp;for(int i=0;i<n*20;i++){int c,p;cin>>c>>p;mp[c] += arr[p];}vector<pair<int,int>>a;for(auto [c,p] : mp){a.push_back({c,p});}sort(a.begin(),a.end(),[](auto a,auto b){if(a.second == b.second) return a.first<b.first;return a.second > b.second;});for(auto [c,p] : a){cout<<c<<' '<<p<<endl;}
}signed main() {FASTint t = 1;//cin>>t;while(t--)solve();return 0;
}

 RC-u3 势均力敌

题目的数据只在3和4,因此可以进行两次DFS,第一次求n个数的全排列,第二次求满足条件的组。

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;
int n;
int a[4];//原始数据
int cou = 1;//阶乘,也就是所有数的个数
vector<int>qpl;//全排列
vector<bool>v1(4,0),v2(24,0);
int ss = 0;//全排列里面所有数的总和
vector<int>ans;
int f = 0;void dfs1(int x,int num){if(x==n){qpl.push_back(num);return ;}for(int i=0;i<n;i++){if(!v1[i]){v1[i] = 1;dfs1(x+1,num*10+a[i]);v1[i] = 0;}}
}void dfs2(int start,int sum){if(sum > ss/2) return ;if(sum == ss/2 && ans.size() == cou/2){for(int num : ans){cout<<num<<endl;}f = 1;return ;}for(int i=start;i<cou;i++){if(!v2[i]){v2[i] = 1;ans.push_back(qpl[i]);dfs2(i+1,sum+qpl[i]*qpl[i]);if(f) return ;ans.pop_back();v2[i] = 0;}}
}void solve(){cin>>n;for(int i=0;i<n;i++){cin>>a[i];cou*=i+1;}dfs1(0,0);for(int i=0;i<cou;i++){ss+=qpl[i] * qpl[i];}sort(qpl.begin(),qpl.end());dfs2(0,0);
}signed main() {FASTint t = 1;//cin>>t;while(t--)solve();return 0;
}

二分答案

1283. 使结果不超过阈值的最小除数 - 力扣(LeetCode)

 假设除数为m,根据题意,每个数除以m向上取整,元素和为

\sum_{i=0}^{n-1}\left \lceil \frac{nums[i]}{m} \right \rceil

由于m越大,上式越小,有单调性,可以二分答案。

最小的满足\sum_{i=0}^{n-1}\left \lceil \frac{nums[i]}{m} \right \rceil\leq thresholdm就是答案

class Solution {
public:int smallestDivisor(vector<int>& nums, int threshold) {auto check = [&](int m){int sum = 0;for(int num : nums){sum += (num + m - 1)/m;if(sum > threshold)return false;}return true;};int l=0,r =ranges::max(nums);while(l + 1 < r){int mid = (l+r)/ 2;(check(mid)?r:l) = mid;}return r;}
};

2187. 完成旅途的最少时间 - 力扣(LeetCode)

 时间越多,可以完成的旅途也就越多,有单调性,可以二分答案

问题变成:

  • 每辆车都用时 x,总共能完成多少趟旅途?能否达到 totalTrips?
class Solution {
public:long long minimumTime(vector<int>& time, int totalTrips) {auto check = [&](long long x){long long sum = 0;for(int t : time){sum += x/t;if(sum >= totalTrips) return true;}return false;};int mint = ranges::min(time);long long l = mint - 1;long long r = 1LL * mint * totalTrips;while(l+1 < r){long long mid = l + (r-l) / 2;(check(mid)?r:l) = mid;}return r;}
};

 西安校赛

Pythagorean Cup - Gym 105937E - Virtual Judge

 思维,根据半杯出现的位置离右边的距离求和,然后奇偶判断

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;void solve(){string s;cin>>s;int n = s.size();int cnt = 0;for(int i=0;i<n;i++){if(s[i] == 'H'){cnt += n-i;}}if(cnt&1) cout<<"Alice";else cout<<"Bob";
}signed main() {FASTint t = 1;//cin>>t;while(t--) solve();return 0;
}

 P12531 [XJTUPC 2025] Beat Verdict: Precision Strike - 洛谷

人生第一个交互题,虽然看题解写出来了但是还是依然的懵b 

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;int c[20];void solve(){int n;cin>>n;int l = 1,r = 2;for(int i=1;i<=16;i++)if(c[i]*2 < n)r++;while(l + 1 < r){int mid = (l+r) >>1;cout<<"? "<<c[mid]/2<<endl;cout.flush();int f;cin>>f;if(f) r = mid;else l = mid;}if(c[l] > n) cout<<"! "<<n<<endl;else cout<<"! "<<c[l]<<endl;cout.flush();
}signed main() {FASTint t = 1;cin>>t;c[1] = 2;for(int i=2;i<=16;i++)c[i] = (c[i-1] * 2 + 1) * 2;while(t--) solve();return 0;
}

 P12540 [XJTUPC 2025] 离散对数 - 洛谷

给定正整数 a,c,p,保证 p 是素数,求 b 使得: a^{b}\equiv b^{c}\left ( mod\: p \right )

模数 p 是质数,费马小定理:如果 p 是一个质数,而整数 a 不是 p 的倍数,则有a^{p-1}\equiv 1\left ( mod\, p \right ) 的结论。

容易发现,当b= (p-1)^{2}  时,可以满足条件。

代入原式,如下:

a^{b}:a^{(p-1)^2}\equiv 1^{p-2}\equiv 1(mod\, p)

b^{c}:[(p-1)^2]^c\equiv 1^{c}\equiv 1(mod\, p)

于是,b = (p-1)^2 就是答案。那么题目输入完后,直接输出即可。

摘自题解

#include <bits/stdc++.h>
#define int long long
#define endl "\n"
#define FAST ios::sync_with_stdio(false),cin.tie(0), cout.tie(0);
using namespace std;void solve(){int a,c,p;cin>>a>>c>>p;cout<<(p-1)*(p-1);
}signed main() {FASTint t = 1;//cin>>t;while(t--) solve();return 0;
}

http://www.dtcms.com/a/310271.html

相关文章:

  • Codeforces Round 1040 (Div. 2)(补题)
  • Java函数式编程之【基本数据类型流】
  • Thymeleaf 模板引擎原理
  • 删除MicroGame
  • 设计模式之职责链模式
  • Android 中 Intent 的显式和隐式使用方式
  • Alpine Linux 设置镜像的时区
  • ONLYOFFICE 深度解锁系列.14-如何在ONLYOFFICE表格中调用异步API,集成外部数据源
  • R语言基础图像及部分调用函数
  • MyEclipse启动OutOfMemoryError内存溢出
  • 笔试——Day25
  • 【数据结构入门】顺序表
  • linux81 shell通配符:[list],‘‘ ``““
  • AI数字人:会“呼吸”的虚拟人如何改变我们的世界?
  • 倒计时!2025国自然放榜时间锁定
  • DreamBoards 借助 DreamHAT+ 雷达插件为 Raspberry Pi 提供 60GHz 毫米波雷达
  • 使用Excel解析从OData API获取到的JSON数据
  • AR智能巡检系统:制造业设备管理的效率革新
  • 【难点】敬语
  • 2025年文生图模型stable diffusion v3.5 large的全维度深度解析
  • Altium 移除在原理图之外的元器件
  • Vue3 Vue3中的响应式原理
  • 从零开始:Python编程快速入门指南
  • 超算中尝试安装dify(失败)
  • Docker 实战 -- Nextcloud
  • 茶叶蛋大冒险小游戏流量主微信抖音小程序开源
  • Nginx 配置导致 “无法建立到 ws://xxx/_stcore/stream 的连接” 的解决方案
  • 使用ai的共识,技巧,避坑。
  • 低速信号设计之 FSI 篇
  • 简单打包应用