其他分享
首页 > 其他分享> > 2021寒假训练1

2021寒假训练1

作者:互联网

2021-01-19个人赛1记录

文章目录


前言

无心路历程

一、题目分析

A 按位异或
a、b同位对应 1 0 or 0 1,x无影响;0 0 x=0;1 1 x=1;等同于a b 位异或;
故本题只需a^b;(so!为什么提醒第一组数据x=4!!!)
**B **

C 思维+找规律
题意:对一串字符操作(从第二个到倒数第二个字符操作),使其变成回文字符串。R使字符翻转到后面,L翻转到前面。
例如:abcd;R3(n-1)->abcdc L234(2~n-1=n)->dcbabcdc L2->cdcbabcdc;
规律 R->n-1 L->n L2;
D (耐心+脑子)

signed main()
{
	int t;
	cin >> t;
	while(t--) {
	    int y, x;
	    cin >> y >> x;
	    int c1,c2,c3,c4,c5,c6;
	    cin >> c1 >> c2 >> c3 >> c4 >> c5 >> c6;
	    c1 = min (c1, c2 + c6);
	    c2 = min (c2, c1 + c3);
	    c3 = min (c3, c2 + c4);
	    c4 = min (c4, c3 + c5);
	    c5 = min (c5, c4 + c6);
	    c6 = min (c6, c1 + c5);
	    int sum =0;
	    if (y >= 0 && x >= 0) {
	        sum += min(y, x) * c1 + (y - min(y, x)) * c6 + (x - min(y, x)) * c2;
	    }
	    else if (y >= 0 && x < 0) {
	        sum += y * c6 + x * (-c5);
	    }
	    else if (y <= 0 && x > 0) {
	        sum += y * c3 + x * (-c2);
	    }
	    else {
	        sum += max(y, x) * (-c4) + (max(y, x) - y) * c3 + (max(y, x) - x) * c5;
	    }
	    ll ss;
		ss = abs(sum);
		cout << ss << '\n';
	}
	return 0;
}

signed?待研究
E 单调栈(读不懂题!!先补知识库叭)
hdu5033
poj3250 2559 3494
F字典序yes
G
H 前缀yes
I 拓扑排序
究竟错哪了! ! !(再看看 再看看 忍住!)
J
K 差分基础yes
L
M 质因数分解
求每个数质因子,最小质因子排序,最小的两个乘积(不能用set,不能去重)

for (ll j = 2; j <= sqrt(a[i]); j++){
	while (a[i] % j == 0){
		a[i] /= j;
		zz.push_back(j);
	}
}//复习

二、知识积累

1.单调栈

没整理完呢!不要戳!

2.拓扑排序

小结

读不懂题目 枯辽 严重怀疑自己的英语理解
基础知识 差好多
记得把剩下的题补了!

标签:训练,min,寒假,2021,c3,c2,c1,c6,c5
来源: https://blog.csdn.net/yyqxwyb/article/details/112858412