nyist_acm 个人积分赛1(部分题解会补充)

Mirrored String II

 看到题解说是马拉车算法,我赛时并没想到(好吧其实我是比赛完才知道有马拉车这个算法)

因为字符串的长度只有1000,直接暴力跑其实就可以了,但是要注意的是;回文串有俩种形式,一种是aba的另一种是baab的形式,这是需要注意的地方

//#pragma GCC optimize(3)  //O2优化开启
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<stack>
#include<string>
#include<algorithm>
//#include<unordered_map>
#include<map>
#include<bitset>
#include<cstring>
//#include <unordered_set>
//#include<priority_queue>
#include<queue>
#include<deque>
#include<set>
#include<stdlib.h>
#define dbug cout<<"*****hear*****"<<endl;
#define rep(a,b,c) for(ll a=b;a<=c;a++)
#define per(a,b,c) for(ll a=b;a>=c;a--)
#define no cout<<"No"<<endl;
#define yes cout<<"Yes"<<endl;
//#define endl "\n"//交互题一定要关!!!!!!!!!
#define lowbit(x) (x&-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//priority_queue<int,vector<int>,greater<int> >q;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> PII;
typedef pair<long double, long double> PDD;
ll  INF = 0x3f3f3f3f;
//const ll LINF=LLONG_MAX;
// int get_len(int x1,int y1,int x2,int y2)
// {
//   return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
// }
const ll N = 2e5 + 10;
const ll mod1 = 998244353;
const ll mod2 = 1e9 + 7;
const ll hash_num = 3e9 + 9;
ll n, m, ca;
ll arr[N], brr[N], crr[N], drr[N];
//ll h[N],ne[N],e[N],w[N],book[N],idx;
// void add(ll a, ll b , ll c)
// {
//   e[idx] = b, w[idx] = c,ne[idx] = h[a], h[a] =idx ++ ; 
// }
vector<ll>ve[N];
bool check(char x)
{
    if (x=='A'||x == 'H' || x == 'I' || x == 'M' || x == 'O' || x == 'T' || x == 'U' || x == 'V' || x == 'W' || x == 'X' || x == 'Y')
        return 1;
    return 0;
}
void solve()
{
    
    string s;
    cin >> s;
    ll len = s.size();
    rep(i, 0, len)
    {
        arr[i] = 0, brr[i] = 0;
    }
    rep(i, 0, len - 1)
    {
        if (check(s[i]))
        {
            arr[i] = 1;
            ll l = i - 1;
            ll r = i + 1;
            while (l >= 0 && r < len)
            {
                if (check(s[l]) && s[r] == s[l])
                {
                    l--;
                    r++;
                    arr[i] += 2;
                }
                else
                {
                    break;
                }
            }

            if (check(s[i+1] ) && s[i] == s[i + 1])
            {
                brr[i] = 2;
                ll l = i - 1;
                ll r = i + 2;
                while (l >= 0 && r < len)
                {
                    if (check(s[l]) && s[r] == s[l])
                    {
                        l--;
                        r++;
                        brr[i] += 2;
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
        
    }
    sort(arr, arr + len);
    sort(brr, brr + len);
    cout << max(arr[len - 1], brr[len - 1]) << endl;;
}


int main()
{
    IOS;
    ll _;
    _ = 1;    //scanf("%lld",&_);
    cin >> _;
    ca = 1;
    while (_--)
    {
        solve();
        ca++;
    }
    return 0;
}

Competitive Seagulls

这是一个博弈(废话)大家叫这种博弈为对称博弈

本题对称 博弈的特性如下:

  1. 对于给定的长度n我们可以先取中间的一段,使左右两边的白色方格一样多,
  2. 这样后手取其中一边,我们就可以在另一边取和他相同的长度,
  3. 这样我们是必赢的,因为不管奇数还是偶数个,我们可以取2或3使左右两边相等。
  4. 但是对于2和3不同,只有这两种情况我们是先手必输的。
void solve()
{
    cin >> n;
    if(n==2 || n==3)
    {
        cout << "second" << endl;
    }
    else
    {
        cout << "first" << endl;
    }
}

 Hey JUDgE

每次输入的长度只有7个,而比赛需要的题目数量是5,所以最多只能组合俩次题目,又因为题目不能重复利用,新得到的题目也无法再次组合,所以就直接枚举就可以找到答案

//#pragma GCC optimize(3)  //O2优化开启
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<stack>
#include<string>
#include<algorithm>
//#include<unordered_map>
#include<map>
#include<bitset>
#include<cstring>
//#include <unordered_set>
//#include<priority_queue>
#include<queue>
#include<deque>
#include<set>
#include<stdlib.h>
#define dbug cout<<"*****hear*****"<<endl;
#define rep(a,b,c) for(ll a=b;a<=c;a++)
#define per(a,b,c) for(ll a=b;a>=c;a--)
#define no cout<<"No"<<endl;
#define yes cout<<"Yes"<<endl;
//#define endl "\n"//交互题一定要关!!!!!!!!!
#define lowbit(x) (x&-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//priority_queue<int,vector<int>,greater<int> >q;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> PII;
typedef pair<long double, long double> PDD;
ll  INF = 0x3f3f3f3f;
//const ll LINF=LLONG_MAX;
// int get_len(int x1,int y1,int x2,int y2)
// {
//   return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
// }
const ll N = 2e5 + 10;
const ll mod1 = 998244353;
const ll mod2 = 1e9 + 7;
const ll hash_num = 3e9 + 9;
ll n, m, ca;
ll arr[N], brr[N], crr[N], drr[N];
//ll h[N],ne[N],e[N],w[N],book[N],idx;
// void add(ll a, ll b , ll c)
// {
//   e[idx] = b, w[idx] = c,ne[idx] = h[a], h[a] =idx ++ ; 
// }
ll book[N];
ll get_hard(char a)
{
    brr['A'] = 1;
    brr['B'] = 2;
    brr['C'] = 3;
    brr['D'] = 4;
    brr['E'] = 5;
    return brr[a];
}
void solve()
{
    string s;
    cin >> s;
    map<ll, ll>mp;
    rep(i, 0, s.size() - 1)
    {
        mp[get_hard(s[i])] ++;
        arr[i + 1] = get_hard(s[i]);
    }
    ll num = 0;
    rep(i, 1, 5)
    {
       // cout << arr[i] << " ";
        if (!mp[i])num++;
    }
    if (num == 0)
    {
        cout << "YES" << endl;
        return;
    }
    ll xx;
    ll yy = 0;
    
        rep(i, 1, 7)
        {
            rep(j, i + 1, 7)
            {
                xx = 1;
                mp[arr[i]]--, mp[arr[j]]--, mp[arr[i] + arr[j]]++;
                rep(k, 1, 5)
                {
                    if (!mp[k])xx = 0;
                }
                mp[arr[i]]++, mp[arr[j]]++, mp[arr[i] + arr[j]]--;
                if (xx == 1)yy = 1;
            }
        }
    

    
    if (!yy)
    {
        rep(i, 1, 7)
        {
            rep(j, i + 1, 7)
            {
                rep(k, 1, 7)
                {
                    rep(l, k + 1, 7)
                    {
                        xx = 1;
                        if (i == k || j == l || i == l || j == k)continue;
                        mp[arr[i]]--, mp[arr[j]]--, mp[arr[i] + arr[j]]++;
                        mp[arr[k]]--, mp[arr[l]]--, mp[arr[k] + arr[l]]++;
                        rep(mm, 1, 5)
                        {
                            if (!mp[mm])xx = 0;
                        }
                        mp[arr[i]]++, mp[arr[j]]++, mp[arr[i] + arr[j]]--;
                        mp[arr[k]]++, mp[arr[l]]++, mp[arr[k] + arr[l]]--;
                        if (xx == 1)
                        {
                          //  cout << i << " " << j << " " << k << " " << l << endl;
                            yy = 1;
                        }
                    }
                }
            }
        }
    }
    if (yy)
    {
        cout << "YES" << endl;
    }
    else
    {
        cout << "NO" << endl;
    }
}


int main()
{
    IOS;
    ll _;
    _ = 1;    //scanf("%lld",&_);
    cin >> _;
    ca = 1;
    while (_--)
    {
        solve();
        ca++;
    }
    return 0;
}

Smooth Developer

很水的一个模拟,但是,诶,您没猜到吧我从开始接触到正式ac前后跨了4h。

唯一需要注意的就是所需要的函数要全部标记完之后再输出,而不是有一个输出一个

//#pragma GCC optimize(3)  //O2优化开启
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<stack>
#include<string>
#include<algorithm>
//#include<unordered_map>
#include<map>
#include<bitset>
#include<cstring>
//#include <unordered_set>
//#include<priority_queue>
#include<queue>
#include<deque>
#include<set>
#include<stdlib.h>
#define dbug cout<<"*****hear*****"<<endl;
#define rep(a,b,c) for(ll a=b;a<=c;a++)
#define per(a,b,c) for(ll a=b;a>=c;a--)
#define no cout<<"No"<<endl;
#define yes cout<<"Yes"<<endl;
//#define endl "\n"//交互题一定要关!!!!!!!!!
#define lowbit(x) (x&-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//priority_queue<int,vector<int>,greater<int> >q;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> PII;
typedef pair<long double, long double> PDD;
ll  INF = 0x3f3f3f3f;
//const ll LINF=LLONG_MAX;
// int get_len(int x1,int y1,int x2,int y2)
// {
//   return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
// }
const ll N = 2e5 + 10;
const ll mod1 = 998244353;
const ll mod2 = 1e9 + 7;
const ll hash_num = 3e9 + 9;
ll n, m, ca;
ll arr[N], brr[N], crr[N], drr[N];
//ll h[N],ne[N],e[N],w[N],book[N],idx;
// void add(ll a, ll b , ll c)
// {
//   e[idx] = b, w[idx] = c,ne[idx] = h[a], h[a] =idx ++ ; 
// }
map<string, ll>mp;
vector<ll>ve[N];
char x[30], s[N][30];
ll book[N];
void dfs(ll u)
{
    book[u] = 1;
    for (auto it : ve[u])
    {
        if (book[it])continue;
        dfs(it);
    }
   
}

void solve()
{
    scanf("%lld%lld", &n, &m);
    rep(i, 1, n)ve[i].clear();
    mp.clear();
    rep(i, 1, n)
    {
        scanf("%s", s[i]);
        mp[s[i]] = i;
        ll num;
        scanf("%lld", &num);
        rep(j, 1, num)
        {
            scanf("%s", x);
            if (mp[x] != i)
            {
                ve[i].push_back(mp[x]);
            }
        }
    }
    memset(book, 0, sizeof book);
    while (m--)
    {
        scanf("%s", x);

        if(!book[mp[x]])dfs(mp[x]);
    }
    rep(i, 1, n)
    {
        if (book[i])
        {

            printf("%s\n", s[i]);
        }
    }
}


int main()
{
    //IOS;
    ll _;
    _ = 1;    scanf("%lld", &_);
    //cin >> _;
    ca = 1;
    while (_--)
    {
        solve();
        ca++;
    }
    return 0;
}

 

ACPC Headquarters : AASTMT (Stairway to Heaven)

换个想法,我们不抓着比赛名称看,我们就抓着志愿者看,数据很小只有365,当得知一个志愿者有需要参加的比赛的时候,就遍历一遍是否有矛盾的,存在矛盾的储存下来就OK了

//#pragma GCC optimize(3)  //O2优化开启
#include<iostream>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<stack>
#include<string>
#include<algorithm>
//#include<unordered_map>
#include<map>
#include<bitset>
#include<cstring>
//#include <unordered_set>
//#include<priority_queue>
#include<queue>
#include<deque>
#include<set>
#include<stdlib.h>
#define dbug cout<<"*****hear*****"<<endl;
#define rep(a,b,c) for(ll a=b;a<=c;a++)
#define per(a,b,c) for(ll a=b;a>=c;a--)
#define no cout<<"No"<<endl;
#define yes cout<<"Yes"<<endl;
//#define endl "\n"//交互题一定要关!!!!!!!!!
#define lowbit(x) (x&-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//priority_queue<int,vector<int>,greater<int> >q;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> PII;
typedef pair<long double, long double> PDD;
ll  INF = 0x3f3f3f3f;
//const ll LINF=LLONG_MAX;
// int get_len(int x1,int y1,int x2,int y2)
// {
//   return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
// }
const ll N = 2e5 + 10;
const ll mod1 = 998244353;
const ll mod2 = 1e9 + 7;
const ll hash_num = 3e9 + 9;
ll n, m, ca;
ll arr[N], brr[N], crr[N], drr[N];
//ll h[N],ne[N],e[N],w[N],book[N],idx;
// void add(ll a, ll b , ll c)
// {
//   e[idx] = b, w[idx] = c,ne[idx] = h[a], h[a] =idx ++ ; 
// }


 map < string, vector<PII>>mp;
 set<string >se;
void solve()
{
    cin >> n;
    mp.clear();
    se.clear();
    rep(i, 1, n)
    {
        string name;
        ll l, r, num;
        cin >> name >> l >> r >> num;
        rep(j, 1, num)
        {
            string pename;
            cin >> pename;
            for (ll k = 0;k < mp[pename].size();k++)
            {
                if (mp[pename][k].first <= l && l <= mp[pename][k].second)
                {
                    se.insert(pename);
                }
                else if (mp[pename][k].first <= r && mp[pename][k].second >= r)
                {
                    se.insert(pename);
                }
                else if (l <= mp[pename][k].first && r >= mp[pename][k].second)
                {
                    se.insert(pename);
                }
            }
            mp[pename].push_back({ l,r });
        }
    }
    cout << se.size() << endl;
    for (auto it : se)
    {
        cout << it << endl;
    }
}


int main()
{
    IOS;
    ll _;
    _ = 1;    //scanf("%lld",&_);
    cin >> _;
    ca = 1;
    while (_--)
    {
        solve();
        ca++;
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/437566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nginx部署前端工程替代方案gateway

nginx部署前端工程替代方案gateway 有市场要求部署的前端vue工程不使用nginx中间件。想弄国产替代的东方通之类的&#xff0c;公司没有购买该产品&#xff0c;我参考了网上的一些java网关框架&#xff0c;springcloud组件&#xff1a;gateway实现代替。 注意后台都是用java编…

shadertoy 游戏《来自星尘》摇杆复刻

正确的做法应该是上 noise 而不是叠加 sin 波&#xff0c;不过如果不想麻烦的话叠波还是一个不错的选择&#xff1a;整体效果如下&#xff0c;已经非常形似 直接上链接&#xff1a;Shader - Shadertoy BETA float radiusScale 0.9; float variation(vec2 v1, vec2 v2, float …

据说这是最细滴,Python接口自动化测试数据驱动DDT使用实战,有这一篇就完全足够了

前言 环境准备 首先&#xff0c;需要安装ddt模块 pip install ddt调用时标准格式 在类下面如下写上&#xff1a;ddt.ddt 在调用的方法下面需要写上&#xff1a;ddt.data(需要传入的多组数据) DDT简单介绍 名称&#xff1a; Data-Driven Tests&#xff0c;数据驱动测试。 作用…

深入理解Servlet

目录&#xff1a; ServletWeb开发历史Servlet简介Servlet技术特点Servlet在应用程序中的位置Tomcat运行过程Servlet继承结构Servlet生命周期Servlet处理请求的原理Servlet的作用HttpServletRequest对象HttpServletResponse对象ServletContext对象ServletConfig对象Cookie对象与…

Keepalived实验

一、 LVSKeepalived 实验&#xff1a;7-1为主&#xff1b; 7-2为备&#xff1b; 7-3和7-4为后端服务器 1.关闭防火墙和selinux [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 02.配置主设备7-1 1.安装ipvsadm和keepalived [rootlocalhost ~]#…

阿珊解说Vue中`$route`和`$router`的区别

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

可视化图表:柱坐标系与对应图表详解

一、柱坐标系及其构成 柱状坐标系是一种常见的可视化图表坐标系&#xff0c;用于显示柱状图&#xff08;也称为条形图&#xff09;的数据。它由两个相互垂直的轴组成&#xff0c;一个是水平轴&#xff08;X轴&#xff09;&#xff0c;另一个是垂直轴&#xff08;Y轴&#xff0…

评测本地部署的语音识别模型

1 引言 最近&#xff0c;朋友给我发来了一段音频&#xff0c;想转录成文字&#xff0c;并使用大型润色文本。音频中的普通话带有一定的口音&#xff0c;并且讲解内容较为专业&#xff0c;所以一般的语音识别工具很难达到较高的识别率。 于是试用了两个大模型。Whisper 是目前…

AIOps常见问题

AIOps的自动化通常指什么&#xff1f; AIOps 平台的自动化一般包括以下几个方面&#xff1a; 数据收集和整合&#xff1a;AIOps 平台可以从多个 IT 基础架构组件、应用需求与性能监视工具以及服务工单系统等数据源中收集并整合运维数据&#xff0c;形成一个全面的数据平台。数…

Access AR Foundation 5.1 in Unity 2022

如果已经下载安装了ARF但版本是5.0.7 可以通过下面的方式修改 修改后面的数字会自动更新 更新完成后查看版本 官方文档 Access AR Foundation 5.1 in Unity 2021 | AR Foundation | 5.1.2

YOLOv9中train.py与train_dual.py的异同!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 首先&#xff0c;train.py&#xff08;左&#xff09;与train_dual.py(右)中的损失函数是不一样的&#xff0c;这也解释了为什么使用train.py除了填入…

Visual Studio 2022之Release版本程序发送到其它计算机运行

目录 1、缺少dll​ 2、应用程序无法正常启动 3、This application failed to start because no Qt platform plugin could be initialized. 代码在Debug模式下正常运行&#xff0c;然后切换到Release模式下&#xff0c;也正常运行&#xff0c;把第三方平台的dll拷贝到exe所在…

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序&#xff0c;比较好用&#xff0c;因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…

Vue3_2024_6天【回顾上篇watch常见的前三种场景】另两种待补

第一种情况&#xff1a;监视【ref】定义&#xff08;基本数据类型&#xff09; 1.引入watch2.格式&#xff1a;watch&#xff08;基本数据类型数据&#xff0c;监视变化的回调函数&#xff09; 注意点&#xff1a; 2.1.watch里面第一个参数&#xff0c;是数据~~【监视的基本类…

基于深度学习的三维重建MVSNet系列

2019年4月15日下午6时50分左右&#xff0c;一场大火席卷了法国巴黎圣母院&#xff0c;持续长达14小时。幸而巴黎圣母院有着高分辨率的3D模型&#xff0c;研究人员可以了解圣母院本身的建造结构&#xff0c;以便修复工程的开展。 多视图立体几何&#xff08;Multi-View Stereo&a…

unity-urp:视野雾

问题背景 恐怖游戏在黑夜或者某些场景下&#xff0c;需要用雾或者黑暗遮盖视野&#xff0c;搭建游戏氛围 效果 场景中&#xff0c;雾会遮挡场景和怪物&#xff0c;但是在玩家视野内雾会消散&#xff0c;距离玩家越近雾越薄。 当前是第三人称视角&#xff0c;但是可以轻松的…

Linux:kubernetes(k8s)探针LivenessProbe的使用(9)

他做的事情就是当我检测的一个东西他不在规定的时间内存在的话&#xff0c;我就让他重启&#xff0c;这个检测的目标可以是文件或者端口等 我这个是在上一章的基础之上继续操作&#xff0c;我会保留startupProbe探针让后看一下他俩的执行优先的一个效果 Linux&#xff1a;kuber…

【QT】QDialog/ QMessageBox/提示对话框/颜色(文字)------对话框

QDialog—对话框 什么是对话框&#xff0c;如下样式 非模态对话框&#xff0c;即打开以后&#xff0c;我还可以对其他框进行操作。 模态对话框&#xff0c;打开以后&#xff0c;其他框都不能再操作了 模态对话框是阻塞对话框 QDialog dig(this);//显示模态对话框dig.exec();…

ROS2中nav_msgs/msg/Path 数据含义及使用

目录 ROS2中nav_msgs/msg/Path数据含义及使用ROS官方消息说明使用ros2中Path生成路径并显示案例使用ROS2命令创建功能包修改创建功能包中的CMakeLists.txt如下创建发布话题的main函数编译与运行rviz可视化发布的路径 ROS2中nav_msgs/msg/Path数据含义及使用 ROS2官方关于nav_m…

vue面试--9, 1 ObjectProperty与vue3Proxy区别。2 MVVM的理解 3 双向绑定原理?

1 ObjectProperty与vue3Proxy区别 2 MVVM的理解 3 双向绑定原理&#xff1f;