网址:https://www.nowcoder.com/acm/contest/201#question

A.签到

手速石头剪刀布

#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int a, b, c, d, e, f;
scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
printf("%d\n", min(a, e)+min(b, f)+min(c, d));
}

E.签到,贪心

#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int a[];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
for(int i = ; i < n; i++)
scanf("%d", &a[i]);
sort(a,a+n);
int ans = ;
for(int i = ; i < n; i++)
{
if(abs(a[i] - a[i-]) > m) ans++;
}
printf("%d\n", ans);
}

L.看似计算几何的最短路

题意:平面上有一条直线和n个圆,从一条直线走到另一条直线,在圆上和直线上走不消耗,其他地方消耗==路程,问最少消耗

思路:因为在圆上走不消耗,就相当于一个点,把圆抽象成点,相交或包含的圆就是一个点,相离的圆抽象成距离为(两圆圆心距离 - r1 - r2)的两个点,跑最短路

队友写的,不放代码了,耶

C.暴力枚举。。。。。。

题意:满足ax+by=c的整数x, y中,能使p2*x2+p1*x+q2*y2+q1*y取最小值的那组x, y 输出这个最小值

无言以对。。。

就当学习一波拓展欧几里得吧

拓展欧几里得,就是求关于x,y的方程 ax + by = gcd(a,b) 的所有整数解

LL exgcd(LL a,LL b,LL &x,LL &y)
{
if(a== && b==) return -;
if(b==)
{
x=, y=;
return a;
}
LL d = exgcd(b, a%b, y, x);
y -= a/b*x;
return d;
}

对于方程a * x + b * y = c 来说,如果c % gcd(a,b) != 0,即c不是gcd的整数倍,则无解。
如果c % gcd(a,b) == 0 且 c / gcd(a,b) = t,那么求出方程 a * x + b * y = gcd(a,b)的所有解x,y,将x,y乘上t,对应的x’,y’即是方程a * x + b * y = t * gcd(a,b)的解

暴力枚举所有的x……

#include <cmath>
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long LL;
using namespace std;
LL exgcd(LL a,LL b,LL &x,LL &y)
{
if (a== && b==) return -;
if (b==)
{
x=,y=;
return a;
}
LL d=exgcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
LL p1,p2,q1,q2;
LL cal(LL x, LL y)
{
return p2*x*x+p1*x+q2*y*y+q1*y;
}
int main()
{
LL a,b,c;
LL x,y;
scanf ("%lld%lld%lld%lld%lld%lld%lld",&a,&b,&c,&p1,&p2,&q1,&q2);
LL g=exgcd(a,b,x,y);
if (c%g!= || g==-)
{
printf("Kuon\n");
return ;
}
LL res = 1000000000000000000LL;
for(x = -; x <= ; x++)
{
if((c-a*x)%b) continue;
y = (c-a*x)/b;
res = min(res, cal(x, y));
}
printf("%lld\n", res);
}

国庆集训 || Wannafly Day1的更多相关文章

  1. 牛客国庆集训派对Day1.B.Attack on Titan(思路 最短路Dijkstra)

    题目链接 \(Description\) 给定\(n,m,C\)及大小为\((n+1)(m+1)\)的矩阵\(c[i][j]\).平面上有\((n+1)(m+1)\)个点,从\((0,0)\)编号到\ ...

  2. 牛客国庆集训派对Day1 L-New Game!(最短路)

    链接:https://www.nowcoder.com/acm/contest/201/L 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言20 ...

  3. 牛客国庆集训派对Day1 B. Attack on Titan

    B. Attack on Titan 链接 #include<cstdio> #include<algorithm> #include<cstring> #incl ...

  4. 牛客国庆集训派对Day1 Solution

    A    Tobaku Mokushiroku Kaiji 水. #include <bits/stdc++.h> using namespace std; ], b[]; void Ru ...

  5. 牛客国庆集训派对Day1:J:Princess Principal(栈模拟求括号匹配)

    题目描述 阿尔比恩王国(the Albion Kingdom)潜伏着一群代号“白鸽队(Team White Pigeon)”的间谍.在没有任务的时候,她们会进行各种各样的训练,比如快速判断一个文档有没 ...

  6. 国庆集训 || Wannafly Day4

    链接:https://www.nowcoder.com/acm/contest/205#question 一场题面非常 有趣 但是题目非常 不友好的比赛 QAQ L.数论之神   思维(?) 题意:求 ...

  7. 牛客国庆集训派对Day1 L New Game!(堆优化dijkstra+建图)

    链接:https://ac.nowcoder.com/acm/contest/201/L来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097 ...

  8. 2019牛客国庆集训派对day1 K题 双向链表练习题 splay区间翻转

    题目链接: 解法: 先建n颗平衡树,合并的时候将a中最右的结点翻转到根节点,b中最左的结点翻转到根节点,对合并后的根节点进行标记. #include <bits/stdc++.h> usi ...

  9. 2019牛客国庆集训派对day1

    C 存每个值存在的位置,枚举末尾的值,再枚举前面的值,哈希二分出最长相同的,即剩下的为不同的 D \(f_{i,j,k}\)为前i位,最后一个3因子在j,次因子在k G bitset处理有多少位置符合 ...

随机推荐

  1. SpringBoot 2.0 集成 JavaMail ,实现异步发送邮件

    一.JavaMail的核心API 1.API功能图解 2.API说明 (1).Message 类: javax.mail.Message 类是创建和解析邮件的一个抽象类 子类javax.mail.in ...

  2. pytest入门学习(1)

    系统ubuntu 12.04 , 可上网 一.安装: 1.安装 setuptools 下载页面:https://bitbucket.org/pypa/setuptools/get/default.ta ...

  3. bzoj4300 绝世好题 【dp】By cellur925

    题目描述: 给定一个长度为\(n\)的数列\(a\),求\(a\)的子序列\(b\)的最长长度,满足bi&bi-1!=0(\(2<=i<=len\)). 90分做法: 并没有部分分 ...

  4. python模块之struct

    # #********struct模块********# # 1.按照指定格式将Python数据转换为字符串,该字符串为字节流,如网络传输时, # 不能传输int,此时先将int转化为字节流,然后再发 ...

  5. 微信支付——基于laravel框架的php实现

    现在经手的几乎每个项目都支持微信支付,简单记录下接入的大致流程. 1.首先商户等申请各种账号,微信支付商户号,APPID,API密钥,Appsecret 2.app端上传支付需要的各个字段 3.后台收 ...

  6. python入门之数据类型之字符串

    str方法 name.capitalize() 将name的首字母大写 name.center(20,'*') 将name居中,长度变为20,其余用*填充 name.count('chy') 返回na ...

  7. Hibernate、Spring和Struts工作原理及使用理由

    1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭Sesst ...

  8. elasticsearch的模糊查询

    https://blog.csdn.net/a772304419/article/details/78951561

  9. SQL SERVER 2008中使用VARBINARY(MAX)进行图像存取的实现方法

          在数据库应用项目开发中,经常会使用一些二进制的图像数据,存储和读取显示图像数据主要采用的是路径链接法和内存流法.路径链接法是将图像文件保存在固定的路径下,数据库中只存储图像文件的路径和名称 ...

  10. Asp_基础之C#基础

    1.两个练习题 1)编程实现46天,是几周几天 int days = 46: int weeks = days / 7: int day =days % 7: //Console.WriteLine( ...