Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

这篇具有很好参考价值的文章主要介绍了Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Problem - 15C - Codeforces

目录

Nim游戏:

1~n的异或和:

代码:


Nim游戏:

n个石头堆,谁最后没得取谁败

我用的异或思考法,对所有堆异或。开局异或和为0的败

最后全是0,异或完也是0.

//最后是0,这位就输了
//A选手让异或和为0,B选手必须动一下,而他做任何操作都会使异或和不为0
//这时A可以接着让异或和为0(可以留个最大的数,将所有小数都异或完后,将这个大数减到异或和即可)
 

1~n的异或和:

 (from https://blog.51cto.com/u_14972364/4820991)Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和,CF,c语言,开发语言,算法

本题要x ~ x+m-1的异或和,相当于 (1 ~ x+m-1) 异或上 (1 ~ x-1)     (前缀思想)。

代码:

记得开long long文章来源地址https://www.toymoban.com/news/detail-832178.html

void solve()
{
	int n; cin >> n;
	int sum = 0;
	int x, m;
	for (int i = 1; i <= n; i++)
	{
		cin >> x >> m;
		m = x + m - 1;
		x--;
		if (x % 4 == 0)
		{
			sum ^= x;
		}
		else if (x % 4 == 1)
		{
			sum ^= 1;
		}
		else if (x % 4 == 2)
		{
			sum ^= x + 1;
		}

		if (m % 4 == 0)
		{
			sum ^= m;
		}
		else if (m % 4 == 1)
		{
			sum ^= 1;
		}
		else if (m % 4 == 2)
		{
			sum ^= m + 1;
		}
	}
	if (sum == 0)
	{
		cout << "bolik" << endl;
	}
	else
		cout << "tolik" << endl;
}
signed main()
{
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	int t = 1;
	//cin >> t;
	while (t--)
	{
		solve();
	}
	return 0;
}

到了这里,关于Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)

    Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)

    C. Digital Logarithm 给两个长度位 n n n 的数组 a a a 、 b b b ,一个操作 f f f 定义操作 f f f 为, a [ i ] = f ( a [ i ] ) = a [ i ] a[i]=f(a[i])=a[i] a [ i ] = f ( a [ i ]) = a [ i ] 的位数 求最少多少次操作可以使 a 、 b a、b a 、 b 两个数组变得完全相同 性质: 对于任何数,经过两次操作我们一定可以

    2024年02月20日
    浏览(13)
  • Codeforces Round 911 (Div. 2) C. Anji‘s Binary Tree (DFS + 树)

    题目 思路:         dfs树的每一条到叶子的路径, 并计算路径中需要修改的个数, 在这些个数中取最小值 注意:         本题中的树是以每个结点的左右孩子是什么的形式给出的, 所以可以不用建树, 只需保存每个结点的左右孩子是什么即可。 代码:

    2024年01月16日
    浏览(33)
  • Codeforces Round 169 (Div. 2)C. Little Girl and Maximum Sum(差分、贪心)

    Codeforces Round 169 (Div. 2)C. Little Girl and Maximum Sum(差分、贪心)

    C. Little Girl and Maximum Sum 给q个[l,r]将所有这些区间里面的数相加和最大。 可以进行的操作是任意排列数组 对出现的每个区间内的位置加上1,代表权值 操作完之后求一遍前缀和,得到每个位置的权值 然后贪心的考虑,权值越大,应该分配给该位置的数越大越好这样对答案的贡

    2024年02月21日
    浏览(12)
  • C. Salyg1n and the MEX Game Codeforces Round 897 (Div. 2)

    Problem - C - Codeforces 题目大意:有一个所有数互不相同的长度为n的数组n,A先手,可以向数组中假如一个没有的数x,B可以从数组中移除一个x的数,目标是使数组最终的MEX最小,扮演A进行操作,使数组最终的MEX最大 1=n=1e5;最大回合数为n 思路:我们要让当前数组的MEX增大,必

    2024年02月07日
    浏览(34)
  • 【每日一题】—— C. K-th Not Divisible by n (Codeforces Round 640 (Div. 4))

    【每日一题】—— C. K-th Not Divisible by n (Codeforces Round 640 (Div. 4))

    🌏博客主页: PH_modest的博客主页 🚩当前专栏: 每日一题 💌其他专栏: 🔴 每日反刍 🟡 C++跬步积累 🟢 C语言跬步积累 🌈座右铭: 广积粮,缓称王! 题目大意:找第k个不能整除n的数字 题目链接:C. K-th Not Divisible by n (Codeforces Round 640 (Div. 4)) 这是一个找规律题 n前面

    2024年02月15日
    浏览(14)
  • 小小蓝的异或消除

    小小蓝的异或消除

    题目

    2024年01月23日
    浏览(25)
  • 异或运算的基本介绍以及使用技巧,剖析常见的异或题目

    异或运算的基本介绍以及使用技巧,剖析常见的异或题目

    异或运算,符号为‘^’,直接对底层二进制串进行运算,比算术运算快得多,规则为:相同为0,不同为1。 假设N为任意实数 性质1:0 ^ N = N 性质2:N ^ N = 0 性质3:异或运算满足交换律与结合律 重点:我们可以将异或运算理解为二进制的无进位相加!也就是说,当两个数异或

    2024年02月08日
    浏览(11)
  • 【动态规划】【位运算】1787. 使所有区间的异或结果为零

    【动态规划】【位运算】1787. 使所有区间的异或结果为零

    【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字 动态规划汇总 位运算 给你一个整数数组 nums​​​ 和一个整数 k​​​​​ 。区间 [left, right](left = right)的 异或结果 是对下标位于 left 和 right(包括 left 和 right )之间所有元素进行 XOR 运算的结果

    2024年03月17日
    浏览(14)
  • Codeforces Round 912 (Div. 2)

    大等于2依据冒泡排序即可排序,因此判断下1即可 对每一个数字找哪一位肯定为0填0其他的填1 从后往前考虑加到当前集合或新立一个集合 从最高位开始考虑能否为1,计算能否时每个数当前位为1

    2024年02月04日
    浏览(12)
  • Codeforces Round 894 (Div. 3)

    签到题 a数组里,大于等于前一个值的a[i]会被写到b里。直接遍历b,如果b[i]比前一个小就在它前面插一个相等的值 计算反过来的长度,判断是否相等就行 对于没有重复口味的集合,能选出的方案是n*(n-1)/2 (从n个里面选2个的组合数)。二分找出需要多少不同口味的冰淇淋,

    2024年02月11日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包