String和Irreducible Polynomial(2019牛客暑期多校训练营(第七场))

示例:
输入:
4
0
0001
0010
111011110
输出:
0
0001
001 0
111 01111 0
题意:给出一个只含有0和1的字符串,找出一种分割方法,使得每个分割出的字符串都是在该字符串自循环节中最小。
题解:先把每段按1结尾分开,然后暴力合并,合并的条件是每段字符串的字典序都不下降,这样可以保证是最小表示。
因为如果后面有一段字典序比前面合并的任意一段字典序小,那它放到这段合并的字符串最前面显然可以更小,因此不符合最小表示,这段不需要合并。
Code:
#include <bits/stdc++.h>
using namespace std;
char ss[];
int lens,r,l,j,k;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s",ss+);
lens=strlen(ss+),r=;
while(r<=lens)
{
j=l=r;
k=r+;
while(k<=lens&&ss[j]<=ss[k])
{
if(ss[j]<ss[k]) j=r;
else j++;
k++;
}
while(r<=j) r+=k-j;
for(int i=l; i<r; i++)
printf("%c",ss[i]);
printf(" ");
}
printf("\n");
}
return ;
}

示例:
输入:
2
2
1 -2 1
2
1 0 1
输出:
No
Yes
题意:
给你一个n次n+1项式(An*X^n+A(n-1)*X^(n-1)...A*X+A0),将系数An都给你,问你这个多项式是不是一个不可约多项式,可约多项式就是类型(x+1)*(x+2)=
x^2+3*x+2 这一种,它是不可约多项式就输出Yes,否则输出No
题解:
结论:当n>=3的时候,它一定不是不可约多项式;当n==2的时,b^2-4*a*c这个来判定就可以了,小于0就不可约,大于0就可约;当n<2的时候一定不可约。
Code:
#include <iostream>
#include <stdio.h>
using namespace std;
int a[];
int main()
{
int n;
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=n; i>=; i--)
scanf("%d",&a[i]);
if(n<)
cout<<"Yes"<<endl;
else if(n==)
{
if((a[]*a[])>=*a[]*a[])
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
else
cout<<"No"<<endl;
}
}
String和Irreducible Polynomial(2019牛客暑期多校训练营(第七场))的更多相关文章
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 2019牛客暑期多校训练营(第二场)F.Partition problem
链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...
- [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem
链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes
传送门 题意: 先输入一个n,代表两个数组里面都有n个数,然后让你从中找到一个p<=n,使其满足(1<=l<=r<=p<=n)可以让在(l,r)这个区间内在两个数组中的的 ...
- 2019牛客暑期多校训练营(第二场)J-Subarray(思维)
>传送门< 前言 这题我前前后后看了三遍,每次都是把网上相关的博客和通过代码认真看了再思考,然并卵,最后终于第三遍也就是现在终于看懂了,其实懂了之后发现其实没有那么难,但是的的确确需要思维 ...
- 2019牛客暑期多校训练营(第二场) - J - Go on Strike! - 前缀和预处理
题目链接:https://ac.nowcoder.com/acm/contest/882/C 来自:山东大学FST_stay_night的的题解,加入一些注释帮助理解神仙代码. 好像题解被套了一次又一 ...
随机推荐
- 洛谷 P5506 封锁
目录 题目 思路 \(Code\) 题目 P5506 封锁 思路 模拟 \(\large\text{读题一定要细心}\) 解释都在代码里. \(Code\) #include<bits/stdc ...
- P4936 题解
\(\text{Update}\)(2019.10.05): 递推公式推法更详细: 通项公式更新详细版: 单位矩阵的推法更加详细. 特别鸣谢 @Smallbasic 苣佬,是他教会了我推递推公式和通项 ...
- vuex基础入门
Vuex简介 vuex的安装和组成介绍 [外链图片转存失败(img-nWQUUuyh-1565273314232)(https://upload-images.jianshu.io/upload_im ...
- Shiro安全框架-简介
1. 简介 Apache Shiro是Java的一个安全框架.功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案. 实际上,Shiro的主要功能 ...
- ThreadLocal是什么
早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序. 当使 ...
- 退出状态、测试(test or [])、操作符、[]与[[]]区别
一.退出状态 系统每执行一个命令,都会返回一个退出状态,若返回退出状态为0,表示命令执行成功, 若返回退出状态不为0,表示命令执行有错误. echo $? 可以打印出退出状态. 例如:ls echo ...
- 【NQG】Paragraph-level Neural Question Generation with Maxout Pointer and Gated Self-attention Networks论文笔记
这篇文章主要处理了在问题生成(Question Generation,QG)中,长文本(多为段落)在seq2seq模型中表现不佳的问题.长文本在生成高质量问题方面不可或缺. 1. Introducti ...
- Jmeter5.11安装
jmeter5.11要对应jdk1.8以上版本 1.选择zip后缀进行下载 2.配置环境变量 (1)电脑桌面---->"计算机"图标---->鼠标右键选择"属 ...
- Xamarin图表开发基础教程(8)OxyPlot框架
Xamarin图表开发基础教程(8)OxyPlot框架 [示例OxyPlotFormsDemo]在Xamarin.Forms中实现线图的显示. (1)打开Xamarin.Forms项目. (2)将Ox ...
- Uni-app 使用总结
1.去掉顶部导航 在page.json中添加 "globalStyle" : { "navigationBarTextStyle" : "black& ...