首页 > 其他分享 >CSP-J2023 题解

CSP-J2023 题解

时间:2023-10-21 18:48:29浏览次数:34  
标签:pq cout int 题解 cin code J2023 CSP dis

T1

code
#include <bits/stdc++.h>
using namespace std;

int n,ans;

signed main() {
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>n;
	for(int i = n; i; i -= (i+2)/3) ++ans;
	cout<<ans<<" ";
	for(int i = n, j = 1; i; i -= (i+2)/3, ++j) if( i % 3 == 1 ) { cout<<j; break; }
	return 0;
}

T2

code
#include <bits/stdc++.h>
using namespace std;
#define For(i,x,y,...) for(int i=(x),##__VA_ARGS__;i<=(y);++i)
typedef long long LL;
auto ckmin=[](auto &x,auto y) { return y<x ? x=y,true : false; };

const int N = 1e5+5;
int n;
LL d,ans,v[N],a[N];

signed main() {
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>n>>d; For(i,2,n) cin>>v[i]; For(i,1,n) cin>>a[i];
	LL mn = a[1], rest = 0;
	For(i,2,n) {
		rest += v[i];
		LL x = (rest+d-1) / d;
		rest -= x * d, ans += mn * x;
		ckmin(mn,a[i]);
	}
	cout<<ans;
	return 0;
}

T3

code
#include <bits/stdc++.h>
using namespace std;
template<typename T=int>T read() { T x; cin>>x; return x; }

int a,b,c,dlt;

pair<int,int> frac(int x,int y) {
	if( y < 0 ) x = -x, y = -y;
	int d = abs(__gcd(x,y));
	return make_pair(x/d,y/d);
}
void print(int x,int y) {
	tie(x,y) = frac(x,y);
	cout<<x;
	if( y != 1 ) cout<<"/"<<y;
}

void MAIN() {
	cin>>a>>b>>c; if( a < 0 ) a = -a, b = -b, c = -c;
	dlt = b*b-4*a*c;
	if( dlt < 0 ) cout<<"NO";
	else {
		int k = 0;
		for(int i = 1; i*i <= dlt; ++i) if( !(dlt % (i*i)) ) k = i;
		if( k*k == dlt ) print(-b+k,2*a);
		else {
			if( b ) print(-b,2*a), cout<<"+";
			int x,y; tie(x,y) = frac(k,2*a);
			if( x != 1 ) cout<<x<<"*";
			cout<<"sqrt("<<dlt/k/k<<")";
			if( y != 1 ) cout<<"/"<<y;
		}
	}
	cout<<'\n';
} signed main() {
	ios::sync_with_stdio(0);cin.tie(0);
	int lft=read(); read(); while( lft-- ) {
		MAIN();
	}
	return 0;
}

T4

code
#include <bits/stdc++.h>
using namespace std;
#define For(i,x,y,...) for(int i=(x),##__VA_ARGS__;i<=(y);++i)
#define pb emplace_back
#define sz(a) int((a).size())
typedef long long LL; typedef pair<int,int> Pii; typedef tuple<int,int,int> Tiii;

const int N = 1e4+5, inf = 0x3f3f3f3f;
int n,m,k,dis[N][105];
bitset<105> vis[N];
vector<pair<int,int>> e[N];
priority_queue<Tiii,vector<Tiii>,greater<Tiii>> pq;

signed main() {
	ios::sync_with_stdio(0);cin.tie(0);
	cin>>n>>m>>k; For(i,1,m, x,y,z) cin>>x>>y>>z, e[x].pb(y,z);
	memset(dis,0x3f,sizeof dis);
	dis[1][0] = 0, pq.emplace(0,1,0);
	while( sz(pq) ) {
		int u = get<1>(pq.top()), x = get<2>(pq.top()); pq.pop();
		if( vis[u][x] ) continue; vis[u][x] = 1;
		for(auto [v,w] : e[u]) {
			int d = dis[u][x] + 1, y = (x + 1) % k;
			if( dis[u][x] < w ) d += (w-d+1+k-1) / k * k;
			if( d < dis[v][y] ) pq.emplace(dis[v][y]=d,v,y);
		}
	}
	cout<<(dis[n][0]<inf?dis[n][0]:-1);
	return 0;
}

标签:pq,cout,int,题解,cin,code,J2023,CSP,dis
From: https://www.cnblogs.com/ft61/p/17779317.html

相关文章

  • 传奇游戏常见问题解决办法
    GEE合区出现错误常规解决方案GEE合区出现错误大部分因数据库损坏导致的合区报错,如果合区提示内存不足,更新64位合区,使用64位合区工具在服务器上进行合并,合区需要将2个区数据大部分提取到内存中,32位合区工具支持内存有限,使用64位合区工具在64位大内存系统上运行,定期清理一些垃圾数据,......
  • 网络规划设计师真题解析--内存编址
    内存按字节编址,利用8K×4bit的存储器芯片构成84000H到8FFFFH的内存,共需()片。A.6      B.8      C.12      D.24答案:C解析:8FFFFH-84000H+1=C000HC000H转换成十进制:C*163+0*162+0*161+0*160=12*163=12*16*16*16=12*4*4*256=48*1024=48KC000H*8bit=48K*8bit(48......
  • 苏格拉底问答、实践过程截图、遇到问题解决问题截图,代码链接
    苏格拉底问答实践过程遇到问题及解决代码......
  • CSP 2023 S 第二轮 游记
    Day-14开始停课,最后一次了,好好珍惜,没有下次了,遂决定多停一段时间,大约六周。Day-10全停,全停!半停还要whk,太累了。模拟赛还行。Day-5~-2打了一些CSP模拟赛。总结:在吃屎。还给初中的J组小朋友放了几道题,去讲了一次题,感觉水平不咋地,不过现在J已经不是以前的难度了,问题......
  • CSP-S趋势寄
    day-12023.10.20下午去试机,给了套CSP-J2019,7.45才进考场,8.00被强制pop出考场,很难绷。更难绷的是神奇的键盘好难敲,位置被某个不认识的人占了,社恐不敢说话,隔壁老哥慷慨解围,拜谢隔壁老哥。......
  • KDOI-06-S 模拟题解
    目录P9744「KDOI-06-S」消除序列P9745「KDOI-06-S」树上异或P9744「KDOI-06-S」消除序列发现这是一道贪心题,第一种操作只会使用一次,也就是在最开始的时候进行清零操作,从而使得整个前缀都变成0。考虑两种情况,一种是前缀全部为1,另一种为0,分别考虑转移即可。代码P9745「KDOI-0......
  • 【比赛笔记】CSP-S 2023
    授权码MD5:71f9eea8b22d84fca61763855842d32f游记Day0-比赛前夕来摘抄一段学长给的注意事项。然后评价一下...freopen//万事开头`freopen`,一定写`freopen`编译环境(-O2,-std=c++14)//命令行编译,注意编译信息g++a.cpp-oa-O2-std=c++14//重温编译命令stl......
  • CSP2023 游记
    目标:不暴毙Day-1周二终于停课了。模拟赛去Div2炸鱼。操作相当下饭。但是不知道为什么总有人比我更下饭。所以Day0第一次试机。键盘有点涩。但是有CPEditor!有点感冒,流感之战!看了一下lh的游记,真为他感到遗憾。......
  • 【0xGame 2023】题解week1
    前段时间在忙各种事情,这两天有学弟学妹要入re,想带着他们打个新生赛,我就打算把这个比赛week1的题先出一遍,后面的之后再说。这次0xGame的re题目名称都很有意思,开始做吧。数字筑基解法直接搜索字符串代码金丹解法就比第一题多个判断过程,不过flag仍然明文网络元婴解法......
  • CSP-S 2023 游记
    9.16初赛,考的挺寄的,所幸过了分数线,遂准备复赛。算是没停课吧,然后就打打打模拟赛寄寄寄,根本想不出正解,暴力只会写一点点点。感觉是什么难以言喻的兆头,我不好说。10.20Day-1上午上了两节物理,讲了圆周运动;一节化学。跑操,三圈,然后来机房准备出发。上车时对所有人都说了一遍“......