International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K
题目链接:https://codeforces.ml/gym/102428/attachments/download/9820/statements-en.pdf
题意:构造一个多项式使得外星人编号的函数值小于零,人类的编号函数值大于零。
思路:零点存在问题,我们只要找出字符串中有多少A-H或者H-A的变化就是零点个数,然后利用求多项式板子的代码即可。
1 #include<iostream>
2 #include<algorithm>
3 #include<vector>
4 #include<cstring>
5 #include<cstdio>
6 #include<bits/stdc++.h>
7 using namespace std;
8 #define mem(s,n) memset(s,n,sizeof s);
9 #define PI acos(-1.0)
10 typedef long long ll;
11 const int maxn=1e5+5;
12 const ll Inf=0x7f7f7f7f;
13 ll a[maxn],b[maxn];
14 char s[maxn];
15 int main()
16 {
17 scanf("%s",s);
18 int tot=0;
19 //cout<<strlen(s)<<endl;
20 for(int i=0;i<strlen(s)-1;i++)
21 {
22 if(s[i]==s[i+1]) continue;
23 else
24 {
25 a[++tot]=2*i+3;
26 //cout<<tot<<endl;
27 }
28 }
29 b[1]=1;
30 for(int i=1;i<=tot;i++)
31 {
32 for(int j=i+1;j>=1;j--) b[j]=b[j-1];
33 for(int j=1;j<=i+1;j++) b[j-1]-=a[i]*b[j];
34 }
35 ll k=1;
36 if(s[0]=='H'&&tot%2) k=-1;
37 if(s[0]=='A'&&tot%2==0) k=-1;
38 cout<<tot<<endl;
39 for(int i=1+tot;i>=1;i--)
40 {
41 if(i==1)
42 printf("%lld\n",b[i]*k);
43 else
44 printf("%lld ",b[i]*k);
45
46 }
47 return 0;
48 }
(训练的时候真是菜,一个很小的问题错了w了五次真白给)
International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K的更多相关文章
- ACM International Collegiate Programming Contest World Finals 2014
ACM International Collegiate Programming Contest World Finals 2014 A - Baggage 题目描述:有\(2n\)个字符摆在编号为\ ...
- ACM International Collegiate Programming Contest World Finals 2013
ACM International Collegiate Programming Contest World Finals 2013 A - Self-Assembly 题目描述:给出\(n\)个正方 ...
- ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syria, Lattakia, Tishreen University, April, 30, 2018
ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syr ...
- ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索
ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. ...
- 2019.04.04 第二次训练 【ACM International Collegiate Programming Contest, JUST Collegiate Programming Contest (2018)】
题目链接:https://codeforces.com/gym/101853 A: ✅ B: (二分图匹配) https://blog.csdn.net/qq_41997978/article/det ...
- ICPC — International Collegiate Programming Contest Asia Regional Contest, Yokohama, 2018–12–09 题解
目录 注意!!此题解存在大量假算法,请各位巨佬明辨! Problem A Digits Are Not Just Characters 题面 题意 思路 代码 Problem B Arithmetic ...
- Gym100814B Gym100814F Gym100814I(异或) ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology
今日份的训练题解,今天写出来的题没有昨天多,可能是因为有些事吧... Gym100814B 这个题就是老师改卷子,忘带标准答案了,但是他改了一部分卷子,并且确定自己改的卷子没出错,他想从改过的卷子里把 ...
- [ACM International Collegiate Programming Contest, Amman Collegiate Programming Contest (2018)]
https://codeforces.com/gym/101810 A. Careful Thief time limit per test 2.5 s memory limit per test 2 ...
- ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015)
A.Arcade Game(康拓展开) 题意: 给出一个每个数位都不同的数n,进行一场游戏.每次游戏将n个数的每个数位重组.如果重组后的数比原来的数大则继续游戏,否则算输.如果重组后的数是最大的数则算 ...
随机推荐
- canvas实现简易时钟效果
代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- 作业day03吴童
小作业3 1. 求区间[100, 200]内10个随机整型数的最大值 1 import random 2 a = [] 3 for i in range(10): 4 n = random.randi ...
- u-boot 移植 --->7、u-bootl流程粗线条梳理
通过前面的调试了解到s5pv210这个芯片的启动流程是需要将u-boot分为两部分的分别为SPL和u-boot.这里我使用网上的方式不直接使用u-boot的SPL连接脚本单独生成SPL的image而是 ...
- App Store Previewer
App Store Previewer App Store 模拟器 https://www.storepreviewer.com/ xgqfrms 2012-2020 www.cnblogs.com ...
- macOS utils
macOS utils dr.unarchiver https://dr-unarchiver.en.softonic.com/mac https://dr-unarchiver.en.softoni ...
- 小程序 in action
小程序 in action https://github.com/xgqfrms/xcx-taro taro https://taro-docs.jd.com/taro/docs/README.htm ...
- lua调用dll导出的函数
参考手册 hello.dll #include "pch.h" #include "lua.hpp" #pragma comment(lib, "lu ...
- c++ DWORD和uintptr_t
x86模式 DWORD 是4字节 x86模式 uintptr_t 是4字节 x64模式 DWORD 是4字节 x64模式 uintptr_t 是8字节 std::cout << sizeo ...
- Java自学第9期——Lambda表达式
1.入门 使用场景:如果创建函数式接口(该接口的抽象方法只能有一个)的实例时,使用Lambda表达式更加简洁方便. 2.格式: (形参列表) -> { 代码块 } 3.简化 只有一个参数时,可以 ...
- 1060 Are They Equal——PAT甲级真题
1060 Are They Equal If a machine can save only 3 significant digits, the float numbers 12300 and 123 ...