A

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
const double eps = 1.0e-6;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e6 + ;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//next_permutation
ll mod = 1e9 + ;
int n, aim;
int v[];
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out1.txt", "w", stdout);
cin >> n >> aim;
int pa = , pb = ;
v[] = ;
for (int i = ; i <= n; i++)
{
cin >> pa >> pb;
if (!v[pa])
{
cout << "NO" << endl;
exit();
}
for (int j = pa; j <= pb; j++)
{
//cout<<j<<endl;
v[j] = ;
}
if (v[aim])
{
cout << "YES" << endl;
exit();
}
}
cout << "NO" << endl;
}

B

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 0x3f3f3f3f
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int turn[][] = {{, }, { , }, { , -}, { -, }};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int n;
vector<int> tree[];
int anser = ;
int color[];
int aim[];
void dfs(int x, int now)
{
if (now != aim[x])
{
anser++;
now = aim[x];
}
int len = tree[x].size();
for (int i = ; i < len; i++)
{
int to = tree[x][i];
dfs(to, now);
}
}
int main()
{
//freopen("out.txt","w",stdout);
cin >> n;
for (int i = ; i <= n; i++)
{
int now;
cin >> now;
tree[now].pb(i);
}
for (int i = ; i <= n; i++)
{
cin >> aim[i];
}
dfs(, );
cout << anser << endl;
return ;
}

C

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
const double eps = 1.0e-6;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 1e6 + ;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//next_permutation
ll mod = 1e9 + ;
int n;
int h[];
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out1.txt", "w", stdout);
cin >> n;
int flag = ;
int now = ;
for (int i = ; i <= n + ; i++)
{
scanf("%d", h + i);
if (h[i - ] > && h[i] > )
{
flag = ;
}
}
if (!flag)
{
cout << "perfect" << endl;
}
else
{
cout << "ambiguous" << endl;
for (int i = ; i <= n + ; i++)
{
for (int j = ; j <= h[i]; j++)
{
cout << now << " ";
}
now += h[i];
}
cout << endl;
int flag2 = ;
now = ;
for (int i = ; i <= n + ; i++)
{
if (h[i - ] > && h[i] > && flag2)
{
flag2 = ;
cout << now - <<" ";
for (int j = ; j <= h[i] - ; j++)
{
cout << now << " ";
}
}
else
{
for (int j = ; j <= h[i]; j++)
{
cout << now << " ";
}
}
now += h[i];
}
cout << endl;
}
}

D

要求你给出两个多项式 使得A,B辗转相除N次得到答案(B为0)

仿照斐波那契数列使得Fn=x*Fn-1±Fn-2  后面的±的作用是使得给出的多项式满足系数绝对值不超过1的条件

数组可以滚动

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 0x3f3f3f3f
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int turn[][] = {{, }, { , }, { , -}, { -, }};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int anser[][];
int main()
{
anser[][] = ;
anser[][] = ;
anser[][] = ;
int n;
int aim = ;
cin >> n;
for (int i = ; i <= n; i++)
{
aim ^= ;
for (int j = ; j <= i; j++)
{
anser[aim][j] = (anser[aim][j] + anser[aim ^ ][j - ]) % ;
}
}
cout << n << endl;
for (int i = ; i <= n; i++)
{
cout << anser[aim][i] << " ";
}
cout << endl << n - << endl;
for (int i = ; i < n; i++)
{
cout << anser[aim ^ ][i] << " ";
}
cout << endl;
}

Codeforces 902 树同型构造 多项式长除法构造(辗转相除法)的更多相关文章

  1. (多项式)因式分解定理(Factor theorem)与多项式剩余定理(Polynomial remainder theorem)(多项式长除法)

    (多项式的)因式分解定理(factor theorem)是多项式剩余定理的特殊情况,也就是余项为 0 的情形. 0. 多项式长除法(Polynomial long division) Polynomi ...

  2. Water Tree CodeForces 343D 树链剖分+线段树

    Water Tree CodeForces 343D 树链剖分+线段树 题意 给定一棵n个n-1条边的树,起初所有节点权值为0. 然后m个操作, 1 x:把x为根的子树的点的权值修改为1: 2 x:把 ...

  3. codeforces 389 D. Fox and Minimal path(构造+思维)

    题目链接:https://vjudge.net/contest/175446#problem/J 题解:显然要用最多n个点构成的图要使的得到的最短路条数有1e9次个,显然要有几个数相乘容易想到2的几进 ...

  4. C++ 构造中调用构造

    //构造中调用构造 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class Point{ ...

  5. C++基本函数的调用优化(构造、拷贝构造、赋值)

    合理的函数可提升时间和空间的利用率 //Test1.h #include<iostream> using namespace std; struct ST { private: int a ...

  6. New Roads CodeForces - 746G (树,构造)

    大意:构造n结点树, 高度$i$的结点有$a_i$个, 且叶子有k个. 先确定主链, 然后贪心放其余节点. #include <iostream> #include <algorit ...

  7. Subordinates CodeForces - 737C (树,构造)

    大意: 求构造一棵树, 每个节点回答它的祖先个数, 求最少打错次数. 挺简单的一个构造, 祖先个数等价于节点深度, 所以只需要确定一个最大深度然后贪心即可. 需要特判一下根的深度, 再特判一下只有一个 ...

  8. Codeforces 639B——Bear and Forgotten Tree 3——————【构造、树】

    Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  9. Codeforces Round #386 (Div. 2)G. New Roads [构造][树]

    题目链接:G. New Roads 题意:给出n个结点,t层深度,每层有a[i]个结点,总共有k个叶子结点,构造一棵树. 分析: 考虑一颗树,如果满足每层深度上有a[i]结点,最多能有多少叶子结点 那 ...

随机推荐

  1. 继成极光推送SDk的实现

    进入极光推送官网:https://www.jiguang.cn/push 注册,创建应用,申请APPKey等操作 代码实现: 确认android studio的 Project 根目录的主 gradl ...

  2. 操作MySQL出错提示“BLOB/TEXT column request_data in key specification without a key length”解决办法

    错误原因: 查阅资料后才知道,原来Mysql数据库对于BLOB/TEXT这样类型的数据结构只能索引前N个字符.所以这样的数据类型不能作为主键,也不能是UNIQUE的.所以要换成VARCHAR,但是VA ...

  3. 阶段3 2.Spring_08.面向切面编程 AOP_8 spring中的环绕通知

    环绕通知.method属性需要新加一个方法 在logger内中新加aroundPringLog方法 异常代码先注释掉 对比现在的环绕通知和之前写代理类做的环绕通知.右侧的方法内有明确的业务层方法(切入 ...

  4. ssm遇到的问题

    1. Caused by: java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init> ...

  5. 将dos窗口调白教程

    将dos弹出窗口调白教程 第1步:同时按住Win+R键,输入cmd 第2步:右键点击标题栏 第3步:点击默认值,然后再点击颜色 第四步:将窗口颜色设置为白色,字体颜色设置为黑色(效果测试)

  6. kali安装redis

    下载 wget http://download.redis.io/releases/redis-4.0.11.tar.gz 解压 tar -zxvf redis-4.0.11.tar.gz 切换目录 ...

  7. get、set快捷键那码事儿

    今天发现一个省时间的方法.get一下,哈哈 在快捷get/set.或其他那个页面上的方法时,只需Shift+Alt+s 然后,选择哪个方法,就按该方法字母下有横线的那个字母(只按单个字母就行) 在ge ...

  8. mybatis返回List<Map>

    mapperl.xml中: <select id="getAmount" parameterType="int" resultType="jav ...

  9. java 依据文件名判断mime类型

    依据文件名称判断mime类型 import java.util.HashMap; import java.util.Map; /** * 依据文件名获取MimeType */ public class ...

  10. MySQL-线上数据迁移实战记录

    1. 迁移背景和限制条件 随着功能的迭代或者数据表中数据量的增加,将现有数据进行迁移已是工作中经常遇到的事情.通常我们在平时迁移数据数据的时候,只需要用mysqldump.mysqlimport指令就 ...