文章目录

  • 前言
  • D.Artifacts
  • F. Fixing Networks
  • L. Random Permutation
  • 总结

前言

vp

D.Artifacts

题意:阅读理解,字符串中提取出来对应的数据直接处理就好。

coding

void solve()
{double ATK=0,Cirt=5,DMG=50,ATK_Rate=0;for(int i=1;i<=25;i++){string s,temp;getline(cin,s);int t=0;for(int j=0;j<(int)s.size();j++){if(s[j]=='+')break;t=j;}string s1,s2;s1=s.substr(0,t+1);s2=s.substr(t+2);double num=0;int flag=0;for(int k=0;k<(int)s2.size();k++){if(s2[k]=='%')break;else if(s2[k]!='.'&&!flag)num=num*10+(s2[k]-'0');else if(s2[k]=='.')flag=k;else num+=pow(0.1,k-flag)*(s2[k]-'0');}if(s1=="ATK")ATK+=num;else if(s1=="ATK Rate")ATK_Rate+=num;else if(s1=="Crit Rate"){Cirt+=num;if(Cirt>=100)Cirt=100;}else if(s1=="Crit DMG Rate")DMG+=num;else continue;}ATK=1500*(1+0.01*ATK_Rate)+ATK;printf("%.10lf\n",ATK*(1-0.01*Cirt)+ATK*(1+DMG*0.01)*Cirt*0.01);
}

F. Fixing Networks

题意:n个点,构造分成c个集合,并且每个点的度数为d的图。
问:能否构造?如果能,那么每个点连接的点是什么?
思路:
1.d=0时,单点集合n=c
2.d=1时,双点集合c=n/2
3.d>1时,如果能够构成,那么每个集合至少含有d+1个点(构成环),最多连接的边数为nd/2,那么能够构成的条件一定是c(d+1)<n&&(nd%2==0)
4.能够构成时,将c-1个构成完全图,剩余的点再进行顺时针同一方向旋转。
设m=n-(c-1)
(d+1),取前m个点作为第c个图方便判断一些。

连接图时,类似这样按照一个方向进行连边,连接的是双向边,和相对的那个点开始连接。要注意的是,点数为奇数时会有两个点相对,那么从小的那个开始。

coding

void solve()
{ll n, c, d;scanf("%lld %lld %lld", &n, &d, &c);//特判完全图不是整数条边的情况和点数多了的情况if (((n * d) & 1) || (n < c * (d + 1))){printf("No");return;}//特判单点集合和只有一条边的集合if (d == 0){if (n == c){printf("Yes");}elseprintf("No");return;}else if (d == 1){if (n == c * 2){printf("Yes\n");for (int i = 1; i <= n; i++){if (i & 1)printf("%d\n", i + 1);elseprintf("%d\n", i - 1);}}elseprintf("No");return;}//特判都能够满足,就一定能够构成满足条件的情况//先构成c-1个完全图,剩下的点再进行链接printf("Yes\n");//完全图的点数为d+1,计算最后一个集合的点数int m = n - (c - 1) * (d + 1);vector<int> v[n + 1];//先连成环for (int i = 1; i <= m - 1;i++)v[i].push_back(i + 1), v[i + 1].push_back(i);v[1].push_back(m);v[m].push_back(1);//成环后度数-2int k = d - 2;for (int i = 1; i <= m;i++){int l = i + m/ 2;l %= m;if (l == 0)l = m;//一定记得只有奇数点时采才用加入这条边if(k&1)v[i].push_back(l);for (int j = 1; j <= k / 2;j++){l++;if (l > m)l = 1;v[i].push_back(l);v[l].push_back(i);}}for (int i = 1; i <= m;i++){sort(v[i].begin(), v[i].end());for(auto t:v[i])printf("%d ", t);printf("\n");}//c-1个完全图for (int i = 0; i < c - 1;i++){int l = i * (d + 1) + m + 1, r = (i + 1) * (d + 1) + m;for (int j = l; j <= r;j++){for (int k = l; k <= r;k++){if(j==k)continue;printf("%d ",k);}printf("\n");}}
}

L. Random Permutation

模拟

void solve(){double n;cin >> n;double a = 1;for(int i=1;i<=n;i++)a *= 1.0 * i;a *= a;double s =  1.0;for(int i=1;i<=n;i++)s *= 1.0 * n;double y = 1.0 * a / s;printf("%.20lf", y);
}

总结

待补:
A.fft
G.博弈
I.Nim游戏

The 2020 ICPC Asia Macau Regional Contest相关推荐

  1. 并查集 ---- 扩展域并查集判二分图 + 循环模拟字典树 The 2020 ICPC Asia Macau Regional Contest C. Club Assignment (详解)

    题目链接 题目大意: 有n个数,现在要把他们拆分成两个集合,假设S为集合,有如下定义: f(S)={min(x⊕y)∣x,y∈S,andx!=y}f(S)=\{min(x\oplus y)|x,y\i ...

  2. The 2020 ICPC Asia Macau Regional Contest J. Jewel Grab(数颜色+链表)

    J. Jewel Grab Tartarus _Wallace_ 转化询问:对于一个询问 [s,k],找到一个最长的区间 [s,t],满足区间中出现次数超过一次的元素,的出现次数减一,的和,不超过 k ...

  3. The 2020 ICPC Asia Macau Regional Contest A. Accelerator(分治+NTT)

    A. Accelerator 实质上就是求n个多项式相乘 (a1+x)(a2+x)-(an+x)(a_1+x)(a_2+x)\dots(a_n+x) (a1​+x)(a2​+x)-(an​+x) 对于 ...

  4. The 2020 ICPC Asia Shenyang Regional Programming Contest I题 Rise of Shadows(数论)

    题目链接The 2020 ICPC Asia Shenyang Regional Programming Contest 题目大意: 一天内有H小时,每小时M分钟,时针分针以恒定速率旋转. 现在若时针 ...

  5. The 2020 ICPC Asia Yinchuan Regional Programming Contest

    The 2020 ICPC Asia Yinchuan Regional Programming Contest A 开三个vector数组存储x,y,z轴上的点,unique+erase去重 #in ...

  6. The 2019 ICPC Asia Shanghai Regional Contest

    The 2019 ICPC Asia Shanghai Regional Contest 题号 题目 知识点 A Mr. Panda and Dominoes B Prefix Code C Maze ...

  7. 2018 ICPC Asia Jakarta Regional Contest

    2018 ICPC Asia Jakarta Regional Contest 题号 题目 知识点 难度 A Edit Distance B Rotating Gear C Smart Thief D ...

  8. 【题目记录】——The 2021 ICPC Asia Jinan Regional Contest

    文章目录 C Optimal Strategy 组合数 H Game Coin K Search For Mafuyu 欧拉序列 题目集地址 The 2021 ICPC Asia Jinan Regi ...

  9. 2019-2020 ICPC Asia Xuzhou Regional Contest【徐州现场赛】

    题目: 209-2020 ICPC Asia Xuzhou Regional Onsite Contest E. Multiply 题意: 找到最大的 i 使得 z*x^i 是 y! 的因子 分析: ...

最新文章

  1. 三星二级菜单_你变我也变,神奇的excel二级联动下拉菜单
  2. MySQL的常用语法
  3. java错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Bu
  4. 如何为MySQL选择更合适的数据类型
  5. c语言单元测验,C语言程序设计单元测验一.PDF
  6. SCRUM 12.03
  7. 证券期货行业监管大数据治理方案研究
  8. java中引用数据类型和基本数据类型的一些区别(貌似不完整,但会有些启示)
  9. 软件测试python测试步骤_软件测试员必备基础:3分钟带你入门自动化测试!
  10. android模拟器多点触摸,Windows 7 多点触摸开发模拟器和多点触摸驱动
  11. FIB常见应用明细及原理分析
  12. Mac修改hosts文件
  13. FreeSWITCH技巧:实现短消息发送
  14. python 左对齐 右对齐_python format格式化进阶-左对齐右对齐 取位数
  15. C语言入门(一):基础语法
  16. JavaSE学习总结(十四)Map集合/Map和Collection的区别/HashMap/LinkedHashMap/TreeMap/集合间的嵌套/Hashtable/Collections工具类
  17. Power BI 数据导入(SQL Server、MySQL、网页数据)
  18. 大饱眼福,52个数据可视化图表鉴赏
  19. 两款非常好的Redis 可视化管理工具:Another Redis Desktop Manager、QuickRedis
  20. 01 Redis安装、配置详解、数据备份与恢复

热门文章

  1. 快速搭建一个小型博客网站
  2. 发版名词介绍(alpha,beta,RC,Release)
  3. java接口参数默认值_下面关于setMaxAge(int expires)方法参数默认值的描述中,正确的是(5.0分)_学小易找答案...
  4. KBEngine 房间示例创建脚本调用解读
  5. 用户情感可视化分析——天池竞赛
  6. 同一个表单form,两个按钮button,调用同一个submit(),给action附不同的参数
  7. 安装文本编辑器 Geany
  8. 电商平台中的架构实践
  9. Telnet操作步骤
  10. Windows11越过限制安装方法