AtCoder Beginner Contest 192

  • A - Star
  • B - uNrEaDaBlE sTrInG
  • C - Kaprekar Numbe
  • E - Train

导读:
简单的题目,只说明题意,或者直接说明结论
下面的难题,会做详细的解释和证明
立个flag,在座的大佬们做个见证:一个月刷60场ABC,现在2021/6/20,第五天,已打卡八场。

A - Star

当前值到100的整数倍还差多少,如果不差就输出100

void work()
{int x; cin >> x;cout << (x % 100 ? 100 - x % 100 : 100) << "\n";
}

B - uNrEaDaBlE sTrInG

判断奇数位置是不是全是小写,偶数位置全是大写

void work()
{char s[N]; cin >> (s + 1);int n = strlen(s + 1);// cout << s + 1<< endl;// cout << s[3] << endl;for (int i = 1; i <= n; i ++ )if (i & 1){      if (s[i] < 'a' || s[i] > 'z'){cout << "No" << endl;return;}}else{if (s[i] < 'A' || s[i] > 'Z'){cout << "No" << endl;return;}}cout << "Yes" << endl;
}

C - Kaprekar Numbe

K不大,可以直接暴力模拟

void work()
{int n, k; cin >> n >> k;int t = 100;set<int> S;while (k -- ){string t = to_string(n);sort(t.begin(), t.end());string s = t;reverse(t.begin(), t.end());int a = stoi(t);int b = stoi(s);n = a - b;}cout << n << endl;return;
}

E - Train

题目中说,只有我们的现在已经使用的时间为ki的整数倍的时候,才能上i这辆列车,那么我们在跑dijkstra的时候,每次更新dist数组的时候就按照这个规则来就好了

#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (int i = a; i < b; i ++ )
using ll = int64_t;
typedef pair<ll, ll> PLL;
const int N = 100010, M = 200010;
int n, m, sx, sy;
ll head[N], ver[M], Next[M], edge[M], kk[M], tot;
void add(int a, int b, int c, int d)
{ver[++ tot] = b, edge[tot] = c, kk[tot] = d, Next[tot] = head[a], head[a] = tot;
}
ll dijkstra()
{// ll dist[N];// memset(dist, 0x7f, sizeof dist);vector<ll> dist(n + 1, (ll)1 << 60);dist[sx] = 0;bool st[N] = {0};priority_queue<PLL, vector<PLL>, greater<PLL> > q;q.push({0, sx});while (q.size()){PLL t = q.top(); q.pop();ll x = t.second;if (x == sy) {return dist[sy];}if (st[x]) continue;st[x] = true;for (int i = head[x]; i; i = Next[i]){ll y = ver[i];if (st[y]) continue;ll distance = (dist[x] + kk[i] - 1) / kk[i] * kk[i] + edge[i];if (dist[y] > distance){dist[y] = (dist[x] + kk[i] - 1) / kk[i] * kk[i] + edge[i];q.push({dist[y], y});}}}return -1;
}
int main()
{cin >> n >> m >> sx >> sy;while (m -- ){ll x, y, t, k; scanf("%lld%lld%lld%lld", &x, &y, &t, &k);add(x, y, t, k);add(y, x, t, k);}ll val = dijkstra();cout << val << endl;return 0;
}

AtCoder Beginner Contest 192相关推荐

  1. AtCoder Beginner Contest 192 A~D题解

    ABC192 A~D [A - Star](https://atcoder.jp/contests/abc192/tasks/abc192_a) 题目大意 输入格式 输出格式 样例 分析 代码 [B ...

  2. AtCoder Beginner Contest 192 F - Potion 背包dp

    传送门 题意: 给你nnn个数,让后让你选出来kkk个AAA,把他们求和,之后再递增kkk直到正好达到xxx,求最小的递增次数. 思路: 转化一下题意就是求∑A=x(modlen)\sum A=x(\ ...

  3. AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...

  4. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  5. AtCoder Beginner Contest 198 (A ~ F)题解

    目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...

  6. AtCoder Beginner Contest 215 G - Colorful Candies 2

    AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...

  7. AtCoder Beginner Contest 215 F - Dist Max 2

    AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi​,yi​),定义两点(xi,yi),(xj,yj)(x ...

  8. AtCoder Beginner Contest 215 E - Chain Contestant

    AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...

  9. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

最新文章

  1. 2022-2028年全球与中国青苔清洗剂市场研究及前瞻分析报告
  2. EJB_消息驱动发展bean
  3. Zookeeper分布式一致性原理(八):Zookeeper典型应用场景
  4. Python_列表常用操作
  5. ubuntu - 14.04,如何操作Gnome的任务栏?
  6. PAM+4+matlab,基于PAM4调制的400G光模块
  7. android提醒设置,如何在Android中设置提醒?
  8. Atitit. Ati IDE 开发平台的第一版规划
  9. 计算机宏应用实例,【电脑技巧】Office word宏命令巧妙应用一例
  10. 不能创建对象qmdispatch_按键精灵更新时提示 ActiveX 部件不能创建对象 错误代码 800a01ad_电脑故障...
  11. 计算机组装所需要的主要配件有哪些,组装电脑需要哪些零件_组装电脑需要哪些配件...
  12. android 手机 瘦身,手机瘦身 Android系统程序精简教程(1)
  13. 黑之契约者OP《Howling》完整版歌词
  14. RL策略梯度方法之(十八): Importance Weighted Actor-Learner Architecture (IMPALA)
  15. 轻松认识HTTP协议的概念和工作原理
  16. JavaSE基础知识(九)--Java中的方法重载(涉及基本类型的重载)
  17. Windows10共享CentOS文件系统(Samba的使用)
  18. canvas 裁剪签名图片 去除多余的空白
  19. 像科学家一样思考python_河像什么的比喻句
  20. SVA 断言 note

热门文章

  1. 限定checkbox最多选中数量
  2. 通俗理解java的可见性、有序性和原子性
  3. ffmpeg用drawtext filter 给视频加字幕,代码实现
  4. repo init 时提示File “/root/....../.repo/repo/main.py“, line 79
  5. 三种将list转换为map的方法
  6. C#Bitmap转ImageSource
  7. 【Dubbo】图解Dubbo官方文档
  8. 浅析智能化指挥信息系统发展
  9. 积分计算曲线围绕X轴旋转形成的立体体积
  10. 智慧消防让生活更加便利