首页 > TAG信息列表 > TJOI2009

P3868 [TJOI2009] 猜数字

\(b_i|(n-a_i)\)。 可转化为 \(n\equiv a_i\pmod{b_i}\)。 然后CRT。 #include<bits/stdc++.h> using namespace std; #define int long long int n,x=0; const int maxn=15; int a[maxn],b[maxn],m[maxn],t[maxn],M=1; void exgcd(int a,int b,int &x,int &y){ i

【训练题23:中国剩余定理】猜数字 | P3868 [TJOI2009]

猜数字 | P3868 [TJOI2009] 前置知识 拓欧求逆元:见我的这篇 快速乘 难度 提 高 + / 省

P3870 [TJOI2009]开关 题解

Link P3870 [TJOI2009]开关 Solve 把序列分成\(\sqrt{N}\)个块,每个块整体处理时亮着的灯数=块内灯总数-前一时刻亮着的灯数,块外的单独处理就好了。 貌似线段树也是这种统计方式 Code #include<bits/stdc++.h> using namespace std; const int maxn=100005; int N,Q,a[maxn],L[maxn

P3868 [TJOI2009]猜数字

首先观察式子\(\forall i \in [1,k]\)有\(b_i|(n-a_i)\) 可以得出\(n-a_i=kb_i\) \(n-a_i\equiv0(mod \ b_i)\) \(n \equiv a_i (mob\ b_i)\) 这个式子是不是很眼熟?? 没错就是中国剩余定理 \(\begin{cases}n \equiv a_1 (mob\ b_1)\\n \equiv a_2 (mob\ b_2)\\n \equiv a_3 (m

P3870 [TJOI2009]开关

链接:Miku -------------------------------- %%%并感谢yyq大佬 -------------------------------- 很显然可以用线段树操作 -------------------------------- 这次的lazy指的是这个区间需不需要被反转,然后显然,一个区间反转后亮的灯泡的值就是区间灯泡总量-原来亮的值 但是如果一

[TJOI2009]猜数字(洛谷 3868)

题目描述 现有两组数字,每组k个,第一组中的数字分别为:a1,a2,...,ak表示,第二组中的数字分别用b1,b2,...,bk表示。其中第二组中的数字是两两互素的。求最小的非负整数n,满足对于任意的i,n - ai能被bi整除。 输入格式 输入数据的第一行是一个整数k,(1 ≤ k ≤ 10)。接下来有两行,第一行是:a1,a2,...,ak,

「洛谷3870」「TJOI2009」开关【线段树】

include <bits/stdc++.h> using namespace std; const int N = 100000 + 6; int n, m; namespace seg { #define lc (nod << 1) #define rc (nod << 1 | 1) struct node { int l, r, tg, s; } tr[N << 2]; void pushup(int nod) { tr[nod].s = tr[lc]

Luogu P3868 [TJOI2009]猜数字

题目链接 \(Click\) \(Here\) 中国剩余定理的板子。小心取模。 #include <bits/stdc++.h> using namespace std; const int N = 11; #define int long long int n, M = 1, a[N], b[N], t[N], ans; int fmul (int x, int y, int mod) { int res = 0; while (y) {

题解 P3870 【[TJOI2009]开关】

这个题我愣是交了好几遍没有过...... 后来@_皎月半洒花dalao告诉我说要^儿子节点的tag,然后就明白了...... 行吧,先上题面: 题目描述 现有N(2 ≤ N ≤ 100000)盏灯排成一排,从左到右依次编号为:1,2,......,N。然后依次执行M(1 ≤ M ≤ 100000)项操作,操作分为两种:第一种操作指定一个区间[a, b],

P3868 [TJOI2009]猜数字(CRT板子)

题目描述 现有两组数字,每组k个,第一组中的数字分别为:a1,a2,...,ak表示,第二组中的数字分别用b1,b2,...,bk表示。其中第二组中的数字是两两互素的。求最小的非负整数n,满足对于任意的i,n - ai能被bi整除。 输入输出格式 输入格式:   输入数据的第一行是一个整数k,(1 ≤ k ≤ 10)。接下来有两行,第