contents:

  • A Chuanpai
    • 题意
    • 思路
    • AC代码
  • K-skip Permutation
    • 题意
    • 思路
    • AC代码
  • D:Rock Paper Scissors
    • 题意
    • 思路
    • AC代码
  • H:日本语 wa Muzukashii D
    • 题意
    • 思路
    • AC代码
  • M:True Story
    • 题意
    • 思路
    • AC代码
  • L:Spicy Restaurant
    • 题意
    • 思路
    • AC代码
    • 题意
    • 思路
    • AC代码

从 签到 到 不会

A Chuanpai

题意

牌面1~6
能不能凑出k点
有多少种方式凑出k点

思路

都1~6了有啥好说的咧
注意不重复

AC代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1E5 + 7;#define INF ~0ULLint main()
{int t;cin >> t;while (t--){int k;cin >> k;int ans = 0;for (int i = 1; i <= 6; i++){if(k-i<=6&&k-i>=i)ans++;}cout<<ans<<endl;}// system("pause");
}

K-skip Permutation

题意

给你两个数
n,k
n代表(1~n)
k代表差距
构造一个数组
使得ai + k = ai+1
这样的i最多可以是多少

思路

最后一个输出不许出现空格
wogiao
那就计数呗
遍历一遍

AC代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1E5 + 7;
#define INF ~0ULLint main()
{int n, k;cin >> n >> k;int cnt = 0;for(int i=1;i<=k;i++){for(int j=0;j*k+i<=n;j++){++cnt;if(cnt<n)cout<<j*k+i<<" ";elsecout<<j*k+i;}}
}

D:Rock Paper Scissors

题意

石头剪刀布
两人玩
A想输,B想赢
每次都是A先手,B看到A展示结果在出牌
俩人总牌面一样多
问最后总得分

思路

直接模拟a出牌
b再出牌结果就好了
当然不是一张一张出牌了
a作为先手
是没有决定权
所以最开始是加分
中间是平局
最后是减分

AC代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1E5 + 7;
#define ULL unsigned long long
#define INF ~0ULL
#define pii pair<int, int>
int t, n, m;int main()
{cin >> t;while (t--){ll a, b, c, x, y, z;cin >> a >> b >> c >> x >> y >> z;ll ans=0;ans+=(min(a,y)+min(b,z)+min(c,x));//dwinll mina = min(a,y),minb =min(b,z),minc =min(c,x);a-=mina,y-=mina,b-=minb,z-=minb,c-=minc,x-=minc;mina =min(a,x),minb = min(b,y),minc =min(c,z);a-=mina,x-=mina,b-=minb,y-=minb,c-=minc,z-=minc;ans-=(a+b+c);cout<<ans<<endl;}//system("pause");
}

H:日本语 wa Muzukashii D

题意

什么样的后缀变成什么样的后缀

思路

模拟

AC代码

#include <bits/stdc++.h>
using namespace std;
char *suffix[10] = {"chimasu", "rimasu", "mimasu", "bimasu", "nimasu", "kimasu", "gimasu", "shimasu", "imasu"}; //后缀
int main()
{int t;char word[30];scanf("%d", &t);char *p;while (t--){scanf("%s", word);if (!strcmp(word, "ikimasu")){printf("itte\n");continue;}int i;for (i = 0; i < 9; i++){if (strstr(word, suffix[i])){p = strstr(word, suffix[i]); //用strstr函数寻找子串(后缀),若找到,返回子串所在的指针,若找不到,返回NULLbreak;}}int T = i + 1;char prefix[25]; //前缀int t = p - word;//index-arrfor (i = 0; i < t; i++){prefix[i] = word[i];}prefix[i] = '\0';if (T >= 1 && T <= 2)printf("%stte\n", prefix);else if (T > 2 && T <= 5)printf("%snde\n", prefix);else if (T == 6)printf("%site\n", prefix);else if (T == 7)printf("%side\n", prefix);else if (T == 8)printf("%sshite\n", prefix);else if (T == 9)printf("%stte\n", prefix);}return 0;
}

M:True Story

题意

4 3 10 4
1 5 2 1
3 4 5
7 9 10
看数据解释
第一行,4表示有四个人要去赶飞机,3代表手机将接受到三次飞
机延误的信息,10代表候机场距离飞机出发的距离,4代表飞机计划起飞时间
第二行代表四个人的速度
第三行代表三次接受到飞机延误的时刻
第四行代表飞机将延误到什么时候
一个人只有觉得有足够时间抵达登机口才会出发
问有多少人是可以出发的

思路

首先对于第二行的速度可以转化为所需时间,记得向上取整
对于每一个人,如果时间不足以到达登机口就不去了
所以每一个人要么停留,要么出发,而且飞机延误的
时刻都将比之前的时刻数大,也就是第四行数字是严格递增的
那么找到每一个通知的从通知
时刻到起飞时刻的最大时长比抵达时长长就好了

AC代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N =1E5+7;
#define ULL unsigned long long
#define INF ~0ULL
#define pii pair<int,int>
int n,k,r,p0;int tim[N];
pii cc[N];int main(){cin>>n>>k>>r>>p0;int now;for(int i=1;i<=n;i++){cin>>now;tim[i] = r/now; if(r%now!=0)tim[i]++;}for(int i=1;i<=k;i++){cin>>cc[i].first;}for(int i=1;i<=n;i++){cin>>cc[i].second;}cc[0].first = 0;cc[0].second=p0;int maxv = 0;for(int i=0;i<=k;i++){maxv = max(maxv,cc[i].second-cc[i].first);}int ans=0;for(int i=1;i<=n;i++){if(tim[i]<=maxv) ans++;}cout<<ans<<endl;//system("pause");
}

L:Spicy Restaurant

题意

4 4 5
5 4 2 3
1 2
2 3
3 4
4 1
1 1
1 2
1 3
1 4
1 5
4个餐馆,4条边,5个询问
第二行代表四个餐馆的辣味值
接下来4行代表餐馆a到b有无向边
再接下来是5个询问
询问中a,b;代表这个人所在餐馆位置,b代表能够接受的辣味值,可以更小
问满足此询问的餐馆的最近位置,没有输出-1

思路

辣味值只有100
那么我们可以跑100*1E5的BFS
将每个滋味到其他餐馆的距离打出表来
dis [ i ] [ j ] 代表在位置j上,距离j最近的辣味值为i的餐馆的距离
然后我们践行辣味可以更小

AC代码

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
const int N = 2e5 + 7;
int n, e, q, inf, dis[107][N], w[N];
vector<int> g[N];void BFS(int c)
{queue<int> q;for (int j = 1; j <= n; j++)if (w[j] == c)q.push(j), dis[c][j] = 0; //将0点都送进去while (!q.empty()){int u = q.front();q.pop();for (auto v : g[u]){if (dis[c][v] != inf)continue;q.push(v);dis[c][v] = dis[c][u] + 1;}}}int main()
{memset(dis, 0x3f, sizeof dis);inf = dis[0][0];cin >> n >> e >> q;for (int i = 1; i <= n; i++)cin >> w[i];for (int i = 1; i <= e; i++){int x, y;cin >> x >> y;g[x].pb(y);g[y].pb(x);}for (int i = 1; i <= 100; i++)BFS(i);for (int i = 1; i <= n; i++)for (int j = 1; j <= 100; j++)dis[j][i] = min(dis[j][i], dis[j - 1][i]);while(q--){int pos,weight;scanf("%d%d",&pos,&weight);printf("%d\n",dis[weight][pos]==inf?-1:dis[weight][pos]);}
}

题意

n个人吃火锅
火锅最开始啥也没有
有m种食材
如果这个人在火锅里有自己喜欢吃的食物,他就快乐加1
否则就投放自己喜欢的食物
然后执行k次操作
问最后每个人的快乐值

思路

k有点大,直接模拟有点,注意最多2*n次,火锅必空,回到原始著状态

AC代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1E5 + 7;
#define ULL unsigned long long
#define INF ~0ULL
#define pii pair<int, int>
int t, n, m;
int arr[N];
int food[N];
int res[N];
int ans[N];void solve()
{int n, m, k;scanf("%d%d%d", &n, &m, &k);for (int i = 1; i <= n; i++)scanf("%d", &arr[i]);memset(food, 0, sizeof food);memset(res, 0, sizeof res);//memset(ans, 0, sizeof ans);for (int i = 1; i <= n; i++){if (food[arr[i]] == 1){res[i]++;food[arr[i]] = 0;}elsefood[arr[i]]++;}for (int i = 1; i <= n; i++){if (food[arr[i]] == 1){res[i]++;food[arr[i]] = 0;}elsefood[arr[i]]++;}int base = k / (2 * n);for (int i = 1; i <= n; i++)ans[i] = base * res[i];k %= (2 * n);// memset(food, 0, sizeof food);if (k > n){for (int i = 1; i <= n; i++){if (food[arr[i]] == 1){ans[i]++;food[arr[i]] = 0;}elsefood[arr[i]]++;}k %= n;for (int i = 1; i <= k; i++){if (food[arr[i]] == 1){ans[i]++;food[arr[i]] = 0;}elsefood[arr[i]]++;}}else{for (int i = 1; i <= k; i++){if (food[arr[i]] == 1){ans[i]++;food[arr[i]] = 0;}elsefood[arr[i]]++;}}for(int i=1;i<n;i++){cout<<ans[i]<<" ";}cout<<ans[n]<<endl;
}
int main()
{int t;cin >> t;while (t--)solve();//system("pause");
}

我们一起来吐槽 2021四川省 icpc相关推荐

  1. 2021四川省赛A,B,D,H,K

    2021 年第十三届四川省 ACM-ICPC 大学生程序设计竞赛(重现赛) A.Chuanpai B.Hotpot D.Rock Paper Scissors H.Nihongo wa Muzukas ...

  2. 【2021四川省赛】E.Don‘t Really Like How The Story Ends 图论

    2021四川省赛E Don't Really Like How The Story Ends 题目大意 给图加边,使得一个可能的DFS序列刚好是从1到n Time : 1000 ms Memory: ...

  3. 电子科大计算机科学与技术高考分数,2021四川省高考分数线公布,总分达不到这个数,考电子科大有点悬...

    提起"天府之国",相信大家自然而然地会想到我国的四川,四川之所以被大家誉为是天府之国,和当地的地理优势有密不可分的联系. 四川水源充足.土地肥沃,要知道在古代的时候,衡量一个地方的 ...

  4. 【Java/补题/牛客/ACM赛制】2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛(正式赛)

    文章目录 题目链接 知识一览 题目列表 快输 C - GCD(数论分块) 题目链接 2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛(正式赛) 知识一览 01-数论分块 题目列 ...

  5. 2021下半年ICPC各类赛事时间日程

    ICPC预选赛 共2站 网络预选赛名额分配(可以关注微信公众号ICPCNews) 网络赛1:9.19 网络赛2:9.25 PS:网络赛没有牌子,决定后面赛站的学校名额分配. 现场赛1-50名2个,50 ...

  6. 2021上半年ICPC各类赛事时间日程

    ICPC区域赛 截止今日最新经确认的比赛时间更新如下: 昆明(昆明理工大学,线上赛) 2021年4月02-03 银川(宁夏理工学院,现场赛) 2021年5月15-16 沈阳(东北大学,现场赛) 202 ...

  7. 2021!四川省科学技术厅开展瞪羚企业申报条件材料

    一条带给四川省申请瞪羚企业的好消息,新发布<四川省科学技术厅关于组织开展2021年四川省瞪羚企业申报备案工作的通知>以下发.小编将具体内容整理在下方,希望对你的申报工作有所帮助,如有疑问可 ...

  8. 2021河南省ICPC省赛总结

    首先我十分感谢老师给我这次参加省赛的机会. 这次省赛让我从一成不变的学习中短暂跳出,开阔了我的眼界,让我切身体会到了"这世界很大",也激发了我的好胜心. 我是第一次参加,和两位学长 ...

  9. 记2021西安ICPC邀请赛打铁

    退役赛依旧打铁,换谁都不好受. 赛前觉得压力不大,旷了一个月的训,奔着旅游来了西安.结果sdnu来的四个队只有我们打了铁,正躺在宾馆的床上发呆## 那就从昨天开始说起吧~ 2021/6/5 暴力杯正好 ...

最新文章

  1. Bootstrap table表格
  2. 永远不要对 AI 说:“我不行!”
  3. 基于sqlcmd命令行工具管理SQL server
  4. 阿里云Kubernetes实战2–搭建基础服务
  5. UIImageView
  6. python语言的理解-终于明白python语言的特点是什么
  7. 用Flash创建一个类似Nano War游戏的教程
  8. VTK:平面源用法实战
  9. sunplus 8202v iop源代码阅读笔记——1
  10. 为什么我不再和别人比较了?
  11. 大数据分析-第八章 推荐系统
  12. 屡用屡爆,大师们讲课都在偷偷使用四个课程结构模型
  13. 2018.10.16 best-ks分箱
  14. 九度 题目1335:闯迷宫 题目1365:贝多芬第九交响曲
  15. html显示和隐藏文字特效,14款震撼人心的HTML5文字特效
  16. 怎么将计算机图标放到桌面,win10怎么把计算机图标放到桌面
  17. 二分查找例题(二)洛谷P1163
  18. C++初级主题--名字空间域和类域
  19. IDEA打包下载超时(已经配置阿里私服,去中央私服下载)
  20. IEEE 期刊双栏模板引用文献问题

热门文章

  1. 一文彻底搞清git reset和revert区别
  2. lhgdialog 弹出窗口插件 API
  3. EOF-DataScience:数据预处理/特征工程之线性变换—四种特征缩放Scaling算法简介、标准化standardization、归一化Normalization的概述与区别
  4. iPhone手机的这些基础功能 你都知道吗?
  5. Golang学习笔记(九)for循环语句
  6. hMailServer搭建企业邮箱服务器
  7. 南开大学计算机学院暑期夏令营,【2021夏令营】关于举办2020年南开大学 “e入计网”优秀大学生云端夏令营的通知...
  8. K8S + RANCHER 随记
  9. CF1539D. PriceFixed —— 贪心
  10. 售后服务工单管理系统有效降低成本!