【T^T】【周赛】第一周周赛——欢迎16级的新同学
借光光,YZC的福气(今天拿到Rank1),本来还可以更好的,前面吃M去了,ABC都很晚切,而且异常兴奋,结果WA了好多发,但还是由于水题看题不清,分析不清导致的
A Home W的数学
Describe:我们都知道,Home W的数学最厉害了。有一天,他又开始开动脑筋了,他想:“为什么数字总是要从1排列到n呢?”于是,Home W开始研究自己排列数字的方法。首先,他写下了1-n中所有的奇数(按照升序排列),然后他又写下了1-n中所有的偶数(按照升序排列),那么问题来了,在这样的排列方式下第k个数是什么呢?
Solution:第一发getLL 结果int n。。。推推公式,奇数有x=(n+1)/2个,x<=k→k*2-1,k-=x,剩下是偶数k*2
原题:Codeforces Round #188 (Div. 2)A
Code:
// <A.cpp> - Sun Oct 9 19:01:04 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
#define IN inline
#define RG register
using namespace std;
typedef long long LL;
typedef long double LB;
const int MAXN=100010;
const int MAXM=100010;
inline int max(int &x,int &y) {return x>y?x:y;}
inline int min(int &x,int &y) {return x<y?x:y;}
inline LL gi() {
register LL w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int main()
{
freopen("A.in","r",stdin);
freopen("A.out","w",stdout);
LL n=gi(),k=gi();
if(k<=(n+1)/2){
cout<<2*k-1;return 0;
}
k-=(n+1)/2;cout<<k*2;
return 0;
}
B QAQ和香蕉
Describe:QAQ是个吃货,这一次他来到了一个商店,想买w根香蕉,但是这个商店实在是黑,他需要支付k元买第一根香蕉,2k元买第二根香蕉....(也就是说,当他买第k根香蕉时,他需要支付i*k元)。可是QAQ钱包里只有n元,你能帮助他计算一下,他要借多少钱才能买下w根香蕉吗?
Solution:支出=1×k+2×k+...+w×k=(1+w)×w/2×k,与n特判一下即可
原题:Codeforces Round #304 (Div. 2)A
Code:
// <B.cpp> - Sun Oct 9 19:01:04 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#pragma GCC push_options
#pragma GCC optimize ("O2")
#define MOD 1000000007
#define INF 1e9
#define IN inline
#define RG register
using namespace std;
typedef long long LL;
typedef long double LB;
const int MAXN=100010;
const int MAXM=100010;
inline int max(int &x,int &y) {return x>y?x:y;}
inline int min(int &x,int &y) {return x<y?x:y;}
inline LL gi() {
register LL w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int main()
{
freopen("B.in","r",stdin);
freopen("B.out","w",stdout);
LL k=gi(),n=gi(),w=gi();
if((1+w)*w/2*k<=n){cout<<0;return 0;}
cout<<(1+w)*w/2*k-n;
return 0;
}
C QAQ的数学题
Describe:Home W说他数学很好,QAQ表示不服气,于是QAQ出了一道数学题给Home W做。题目很简短:给定n个数字,每个数字最多选择一次(也可以不选,但是所有的数字中至少选择一个数字),问这n个数字不能相加得到的最小的正整数,并输出。
Notice:被坑了四发,
- 输入到文件结束( 即输入格式为 while(scanf(...)!=EOF)){ ... } )多组数据
- while中加了return 0还是多组数据的问题
- 发现特判的地方没有输回车
- 最后发现a[p]可以为零
- 本来还有第五发的,要交是测了一组数据,发现for时先要i++
Solution:Sort+贪心,当前的数>之前的和即可输出之前的和+1
证明:
从小往大加,之前可以凑出[1,r]当前加入这个数k凑出的数为一个区间[k,k+r],k>r+1,那么之后的数也会>r+1,所以r+1将凑不出.
Code:
// <C.cpp> - Sun Oct 9 19:01:04 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
#define IN inline
#define RG register
using namespace std;
typedef long long LL;
typedef long double LB;
const int MAXN=1010;
const int MAXM=100010;
inline int max(int &x,int &y) {return x>y?x:y;}
inline int min(int &x,int &y) {return x<y?x:y;}
inline LL gi() {
register LL w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int a[MAXN];int n;
int main()
{
freopen("C.in","r",stdin);
freopen("C.out","w",stdout);
while(~scanf("%d",&n)){
for(int i=1;i<=n;i++)a[i]=gi();
sort(a+1,a+1+n);int i=1;
while(!a[i])i++;
if(a[i]!=1){cout<<1<<endl;continue;}
LL m=1;bool flag=true;
for(i++;i<=n;i++){
if(a[i]>m+1){
cout<<m+1<<endl;flag=0;break;
}
m+=a[i];
}
if(flag)cout<<m+1<<endl;
}
return 0;
}
D running jump的树
Describe:

Solution:Dp,实际要求整数拆分并且有一个数要>=d的方案
f[i][0]表示拆i没有>=d的方案,f[i][1]表示有,转移见程序,cout<<f[n][1]
原题:Codeforces Round #247 (Div. 2)C
Code:
// <D.cpp> - Sun Oct 9 19:01:04 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
#define IN inline
#define RG register
using namespace std;
typedef long long LL;
typedef long double LB;
const int MAXN=110;
const int MAXM=100010;
inline int max(int &x,int &y) {return x>y?x:y;}
inline int min(int &x,int &y) {return x<y?x:y;}
inline LL gi() {
register LL w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int f[MAXN][2];
int main()
{
freopen("D.in","r",stdin);
freopen("D.out","w",stdout);
int n=gi(),k=gi(),d=gi();
f[0][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++){
if(i-j<0)continue;
if(j<d){
(f[i][0]+=f[i-j][0])%=MOD;
(f[i][1]+=f[i-j][1])%=MOD;
}else (f[i][1]+=(f[i-j][0]+f[i-j][1])%MOD)%=MOD;
}
printf("%d",f[n][1]);
return 0;
}
E Value Dragon出难题了
Describe:
有一天,Value Dragon觉得好无聊啊,所以决定出一道题目给自己做,于是他写下了一个含有n个元素的整型数组a,这n个元素分别是a1,a2,...,an。
然后呢,他就想啊,如果能找到一个连续的区间[l,r](1 ≤ l ≤ r ≤ n),使得该区间中所有的数的异或值大于等于k,那他就觉得这段区间是一个完美的区间。
那么问题来了,这样的区间总共有多少个呢?于是Value Dragon陷入了无尽的思考中......
QAQ:原题hhh~
【T^T】【周赛】第一周周赛——欢迎16级的新同学的更多相关文章
- AYIT-2020 609暑假集训第一周周赛题 A - A计划
可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚,告招天下 ...
- Python-week1,第一周(基于Python3.0以上)
1,变量 准确来说不是第一周学习了吧,应该是采用博客记录学习的第一周,记录并做个笔记吧,可能做的不好,但我高兴啊,废话不说了,上图. 学习过程中做的一些笔记,当然能面面俱到,只能在写博客的时候又能复习 ...
- Mysql第一周
前言:好久不见,我又来写博客拉.上个月只写了几篇django-rest-framework的,而且还是根据官网的英文写的.干货不多,内心还是有点羞耻的…… 简单说下我11月去干嘛了.11月初美图给我发 ...
- 第一周Python讲课内容--日记
1.python的发展史,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年...... 2.第一个helloword程序的开始 3.变量的含义,赋值传参数的作 ...
- bug终结者 团队作业第一周
bug终结者 团队作业第一周 小组组员及人员分工 小组成员 组长: 20162323 周楠 组员: 20162302 杨京典 20162322 朱娅霖 20162327 王旌含 20162328 蔡文 ...
- 《JAVA程序设计》_第一周学习总结
20175217吴一凡 <java程序设计> 第一周学习总结 虽然已经做好了心理准备,但第一周的学习任务着实让我忙了整整三天,还是挺充实的吧.寒假已经在自己的电脑上安装好了虚拟机,我就在我 ...
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
- 20175314 《Java程序设计》第一周学习总结
20175314 <Java程序设计>第一周学习总结 教材学习内容总结 除了学院统一购买的<Java 2 实用教程(第5版)>我还在网上买了一本<Head ...
- 2018-2019-1 20189221《Linux内核原理与分析》第一周作业
Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...
随机推荐
- 笔试算法题(13):反转链表 & 左旋转字符串
出题:反转链表(递归和非递归解法): 分析:有递归跟非递归实现,注意对原始链表头节点的处理,因为其他节点都指向下一个节点,其需要指向NULL: 解题: struct Node { int v; Nod ...
- 查看密码存放地-shadow
shadow 位置:/cat/shadow 作用:存放用户的密码等信息 使用查看命令以后得到以下数据 我们会看到9个字段,分别用 :隔开,如上图所示一一解释: 第一字段:用户名称 第二字段:加密密码 ...
- VSCODE插件开发:用户输入输出
阅读这篇文章之前,假设你已经具有开发helloworld的插件的能力. vscode.window 简介 vscode.window 负责当前激活窗口的输入输出,比如展示信息,和用户输入等功能都是用v ...
- [Python3网络爬虫开发实战] 2.3-爬虫的基本原理
我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛.把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息.可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛 ...
- Kali Linux 下载、引导、安装
下载卡莉 Linux 官方镜像: https://www.kali.org/downloads/ 官方虚拟机镜像: https://www.offensive-security.com/kali-li ...
- Python:安装3.6
centos7 自带有 python,但是却是 python2 版本的 python,如果你想安装个python3怎么办呢?难道要从github上把源码clone下来进行编译安装么?没错!因为 yum ...
- 15Spring AOP基础
为什么需要AOP? 先来看一段代码: package com.cn.spring.aop.helloworld; //加减乘除的接口类 public interface ArithmeticCalcu ...
- N分之一 竖式除法模拟
N分之一 Description Alice越来越痴迷于数学问题了.一天,爸爸出了个数学题想难倒她,让她求1 / n. 可怜的Alice只有一岁零九个月,回答不上来 ~~~~(>_<)~~ ...
- python之字符串处理 2014-4-5
#字符串 p62 13:20pm-15:20 上一章讲的所有的序列化操作对于字符串同样适用 不过字符串不可变 所以无法使用分片赋值 1.字符串格式化 >>> format=" ...
- python接口自动化测试(一)
本节开始,开始介绍python的接口自动化测试,首先需要搭建python开发环境,到https://www.python.org/下载python 版本直接安装就以了,建议 下载python2.7.1 ...
