题目链接https://ac.nowcoder.com/acm/contest/881/A(单调栈)

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<queue>
  6. #include<stack>
  7. #include<set>
  8. #include<vector>
  9. #include<map>
  10. #include<cmath>
  11. const int maxn=1e5+;
  12. typedef long long ll;
  13. using namespace std;
  14. int L1[*maxn],L2[*maxn];
  15. int a[*maxn],b[*maxn];
  16. int main()
  17. {
  18. int n;
  19. while(~scanf("%d",&n))
  20. {
  21. for(int t=;t<=n;t++)
  22. {
  23. scanf("%d",&a[t]);
  24. }
  25. for(int t=;t<=n;t++)
  26. {
  27. scanf("%d",&b[t]);
  28. }
  29. stack<int>s1,s2;
  30. for(int t=;t<=n;t++)
  31. {
  32. if(s1.empty())
  33. {
  34. L1[t]=;
  35. s1.push(t);
  36. continue;
  37. }
  38. else
  39. {
  40. while(!s1.empty()&&a[s1.top()]>a[t])
  41. {
  42. s1.pop();
  43. }
  44. if(s1.empty())
  45. {
  46. L1[t]=;
  47. s1.push(t);
  48. continue;
  49. }
  50. else
  51. {
  52. L1[t]=s1.top();
  53. s1.push(t);
  54. continue;
  55. }
  56. }
  57. }
  58. for(int t=;t<=n;t++)
  59. {
  60. if(s2.empty())
  61. {
  62. L2[t]=;
  63. s2.push(t);
  64. continue;
  65. }
  66. else
  67. {
  68. while(!s2.empty()&&b[s2.top()]>b[t])
  69. {
  70. s2.pop();
  71. }
  72. if(s2.empty())
  73. {
  74. L2[t]=;
  75. s2.push(t);
  76. continue;
  77. }
  78. else
  79. {
  80. L2[t]=s2.top();
  81. s2.push(t);
  82. continue;
  83. }
  84. }
  85. }
  86. int k=n+;
  87. for(int t=;t<=n;t++)
  88. {
  89. //cout<<L1[k]<<" "<<L2[k]<<endl;
  90. if(L1[t]!=L2[t]){
  91. k=t;
  92. break;
  93. }
  94. }
  95. printf("%d\n",k-);
  96.  
  97. }
  98. return ;
  99. }

题目链接:https://ac.nowcoder.com/acm/contest/881/F(思维)

三角形面积的22倍

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<queue>
  6. #include<stack>
  7. #include<set>
  8. #include<vector>
  9. #include<map>
  10. #include<cmath>
  11. const int maxn=1e5+;
  12. typedef long long ll;
  13. using namespace std;
  14. int main()
  15. {
  16.  
  17. long double x0,y0,x1,y1,x2,y2;
  18. long double a,b,c,p,S;
  19. long double ans;
  20. while(cin>>x0>>y0>>x1>>y1>>x2>>y2)
  21. {
  22. a=sqrtl((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));
  23. b=sqrtl((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2));
  24. c=sqrtl((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  25. //cout<<a<<" "<<b<<" "<<c<<endl;
  26. p=(a+b+c)/;
  27. S=sqrtl(p*(p-a)*(p-b)*(p-c));
  28. S=S*;
  29. ans=S;
  30. printf("%.0Lf\n",ans);
  31. }
  32.  
  33. return ;
  34. }

海伦公式版没过 不知道原因

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<queue>
  6. #include<stack>
  7. #include<set>
  8. #include<vector>
  9. #include<map>
  10. #include<cmath>
  11. const int maxn=1e5+;
  12. typedef long long ll;
  13. using namespace std;
  14. int main()
  15. {
  16.  
  17. long double x0,y0,x1,y1,x2,y2;
  18. long double a,b,c,p,S;
  19. long double ans;
  20. while(cin>>x0>>y0>>x1>>y1>>x2>>y2)
  21. {
  22. a=sqrtl((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1));
  23. b=sqrtl((x0-x2)*(x0-x2)+(y0-y2)*(y0-y2));
  24. c=sqrtl((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  25. //cout<<a<<" "<<b<<" "<<c<<endl;
  26. p=(a+b+c)/;
  27. S=sqrtl(p*(p-a)*(p-b)*(p-c));
  28. S=S*;
  29. ans=S;
  30. printf("%.0Lf\n",ans);
  31. }
  32.  
  33. return ;
  34. }

题目链接:https://ac.nowcoder.com/acm/contest/881/J(大数)

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <iostream>
  4. #include <string>
  5. #include <cstring>
  6. #include <cstdio>
  7. using namespace std;
  8.  
  9. const int maxn = ;
  10.  
  11. struct bign{
  12. int d[maxn], len;
  13.  
  14. void clean() { while(len > && !d[len-]) len--; }
  15.  
  16. bign() { memset(d, , sizeof(d)); len = ; }
  17. bign(int num) { *this = num; }
  18. bign(char* num) { *this = num; }
  19. bign operator = (const char* num){
  20. memset(d, , sizeof(d)); len = strlen(num);
  21. for(int i = ; i < len; i++) d[i] = num[len--i] - '';
  22. clean();
  23. return *this;
  24. }
  25. bign operator = (int num){
  26. char s[]; sprintf(s, "%d", num);
  27. *this = s;
  28. return *this;
  29. }
  30.  
  31. bign operator + (const bign& b){
  32. bign c = *this; int i;
  33. for (i = ; i < b.len; i++){
  34. c.d[i] += b.d[i];
  35. if (c.d[i] > ) c.d[i]%=, c.d[i+]++;
  36. }
  37. while (c.d[i] > ) c.d[i++]%=, c.d[i]++;
  38. c.len = max(len, b.len);
  39. if (c.d[i] && c.len <= i) c.len = i+;
  40. return c;
  41. }
  42. bign operator - (const bign& b){
  43. bign c = *this; int i;
  44. for (i = ; i < b.len; i++){
  45. c.d[i] -= b.d[i];
  46. if (c.d[i] < ) c.d[i]+=, c.d[i+]--;
  47. }
  48. while (c.d[i] < ) c.d[i++]+=, c.d[i]--;
  49. c.clean();
  50. return c;
  51. }
  52. bign operator * (const bign& b)const{
  53. int i, j; bign c; c.len = len + b.len;
  54. for(j = ; j < b.len; j++) for(i = ; i < len; i++)
  55. c.d[i+j] += d[i] * b.d[j];
  56. for(i = ; i < c.len-; i++)
  57. c.d[i+] += c.d[i]/, c.d[i] %= ;
  58. c.clean();
  59. return c;
  60. }
  61. bign operator / (const bign& b){
  62. int i, j;
  63. bign c = *this, a = ;
  64. for (i = len - ; i >= ; i--)
  65. {
  66. a = a* + d[i];
  67. for (j = ; j < ; j++) if (a < b*(j+)) break;
  68. c.d[i] = j;
  69. a = a - b*j;
  70. }
  71. c.clean();
  72. return c;
  73. }
  74. bign operator % (const bign& b){
  75. int i, j;
  76. bign a = ;
  77. for (i = len - ; i >= ; i--)
  78. {
  79. a = a* + d[i];
  80. for (j = ; j < ; j++) if (a < b*(j+)) break;
  81. a = a - b*j;
  82. }
  83. return a;
  84. }
  85. bign operator += (const bign& b){
  86. *this = *this + b;
  87. return *this;
  88. }
  89.  
  90. bool operator <(const bign& b) const{
  91. if(len != b.len) return len < b.len;
  92. for(int i = len-; i >= ; i--)
  93. if(d[i] != b.d[i]) return d[i] < b.d[i];
  94. return false;
  95. }
  96. bool operator >(const bign& b) const{return b < *this;}
  97. bool operator<=(const bign& b) const{return !(b < *this);}
  98. bool operator>=(const bign& b) const{return !(*this < b);}
  99. bool operator!=(const bign& b) const{return b < *this || *this < b;}
  100. bool operator==(const bign& b) const{return !(b < *this) && !(b > *this);}
  101.  
  102. string str() const{
  103. char s[maxn]={};
  104. for(int i = ; i < len; i++) s[len--i] = d[i]+'';
  105. return s;
  106. }
  107. };
  108.  
  109. istream& operator >> (istream& in, bign& x)
  110. {
  111. string s;
  112. in >> s;
  113. x = s.c_str();
  114. return in;
  115. }
  116.  
  117. ostream& operator << (ostream& out, const bign& x)
  118. {
  119. out << x.str();
  120. return out;
  121. }
  122. int main()
  123. {
  124. bign x,y,a,b;
  125. while(cin>>x>>a>>y>>b)
  126. {
  127. if(x*b==y*a)
  128. {
  129. puts("=");
  130. }
  131. else if(x*b<y*a)
  132. {
  133. puts("<");
  134. }
  135. else
  136. {
  137. puts(">");
  138. }
  139. }
  140. }

牛客多校训练AFJ(签到)的更多相关文章

  1. 牛客多校训练第八场G.Gemstones(栈模拟)

    题目传送门 题意: 输入一段字符串,字符串中连续的三个相同的字符可以消去,消去后剩下的左右两段字符串拼接,求最多可消去次数. 输入:ATCCCTTG   输出:2 ATCCCTTG(消去CCC)——& ...

  2. 牛客多校训练第八场C.CDMA(思维+构造)

    题目传送门 题意: 输入整数m( m∈2k ∣ k=1,2,⋯,10),构造一个由1和-1组成的m×m矩阵,要求对于任意两个不同的行的内积为0. 题解: Code: #include<bits/ ...

  3. 2019牛客多校训练第四场K.number(思维)

    题目传送门 题意: 输入一个只包含数字的字符串,求出是300的倍数的子串的个数(不同位置的0.00.000等都算,并考虑前导零的情况). sample input: 600 1230003210132 ...

  4. 2019牛客多校训练第三场H.Magic Line(思维)

    题目传送门 大致题意: 输入测试用例个数T,输入点的个数n(n为偶数),再分别输入n个不同的点的坐标,要求输出四个整数x1,y1,x2,y2,表示有一条经过点(x1,y1),(x2,y2)的直线将该二 ...

  5. 2019牛客多校训练第三场B.Crazy Binary String(思维+前缀和)

    题目传送门 大致题意: 输入整数n(1<=n<=100000),再输入由n个0或1组成的字符串,求该字符串中满足1和0个数相等的最长子串.子序列. sample input: 801001 ...

  6. 18牛客多校训练第二场 J farm

    题意:一个n×m的农田, 每个小格子都有一种作物, 现在喷t次农药,每次农药覆盖一个矩形, 该矩形里面与农药类型不同的植物都会死掉, 求最后植物的死亡数是多少. 题解:二维树状数组. 每次喷农药的时候 ...

  7. 2019暑假牛客多校训练-第八场-C-CDMA(递归、水题)

    观察前3组可以推出递归规律,生成下一个类型时,每行copy自身与自身相反. 题目描述 Gromah and LZR have entered the third level. There is a b ...

  8. 2019牛客多校第一场 I Points Division(动态规划+线段树)

    2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...

  9. 牛客多校第一场 B Inergratiion

    牛客多校第一场 B Inergratiion 传送门:https://ac.nowcoder.com/acm/contest/881/B 题意: 给你一个 [求值为多少 题解: 根据线代的知识 我们可 ...

随机推荐

  1. 打印java系统的信息

    System.getProperties() 确定当前系统属性 Properties.list() 将获取到的信息打印到流中 public class Userone { public static ...

  2. C语言输出颜色

    命令后界面输出颜色 嵌入式终端界面输出日志时,为了区分输出的有用信息.错误信息,可以给不同级别的输出加上不同的颜色,以方便查看. 下面是颜色的定义: //颜色宏定义 #define NONE &quo ...

  3. CSS漂亮盒子(上)

    HTML文档中的所有元素都是由矩形盒子构成的--不管是包含页面结构的容器元素,还是段落中的每行文本,归根结底都是盒子. 1.背景颜色 设置页面背景颜色. body { background-color ...

  4. Bytom Dapp 开发笔记(二):开发流程

    简介 这章的内容详细分析一下涉及智能合约Dapp的整个开发流程,注意是涉及只能合约,如果你只要一些基本转BTM功能没有太大意义,本内容补充一下官方提供的 比原链DAPP开发流程,详细实践过好踩到的一些 ...

  5. java Hibernate 用法

    Hibernate 用法总结: import java.io.Serializable; import java.sql.SQLException; import java.util.Collecti ...

  6. 2020-05-24:ZK分布式锁有几种实现方式?各自的优缺点是什么?

    福哥答案2020-05-24: Zk分布式锁有两种实现方式一种比较简单,应对并发量不是很大的情况.获得锁:创建一个临时节点,比如/lock,如果成功获得锁,如果失败没获得锁,返回false释放锁:删除 ...

  7. C#LeetCode刷题之#203-删除链表中的节点(Remove Linked List Elements)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3826 访问. 删除链表中等于给定值 val 的所有节点. 输入: ...

  8. 代码优化与sql优化---未完待续

    万丈高楼平地起,还是得打一个好地基呀 减少对变量对重复计算 //一般这么写 for (int i = ; i < list.size(); i++) {...} //建议修改为: for (in ...

  9. Enumerable 下又有新的扩展方法啦,快来一起一睹为快吧

    一:背景 1. 讲故事 前段时间将公司的一个项目从 4.5 升级到了 framework 4.8 ,编码的时候发现 Enumerable 中多了三个扩展方法: Append, Prepend, ToH ...

  10. Clion使用gtk3

    在已经安装了gtk3的情况下,使用Clion还是无法正常给gtk3. 此时,我们需要更改CMakeList. 以下代码中需要添加的行都以#开头,此仅为了标识需要添加的行,而无需在实际代码中添加# cm ...