数学(math.cpp)

DXY的数学很差。。。

对于所有1<=i<=N求(2^i – i^2)能被7整除的个数。(N<=1000000)

样例输入:

3

样例输出:

1


你在代码中输入一个int范围内的数字的时候

其实系统是默认把他装到一个int变量里去参加运算
如果你用int去mod longlong

mod出来的是个int

所以我们在数字后加上ll来表示强行把这个数字转成ll 
 
#include<iostream>
#include<cstdio>
#include<algorithm>
#define LiangJiaJun main
using namespace std;
int kk[]={,,},ans=;long long n;
int LiangJiaJun(){
cin>>n;
for(long long i=;i<=n;i++){
long long x=(kk[(i-)%3LL]+7LL-((i*i)%7LL))%7LL;
if(x==){
++ans;
}
}
cout<<ans<<endl;
return ;
}

考虑到N可能很大,模拟一下2^i的情况,可以得到kk数组

+7LL有两个点

1.7默认是int,LL后缀默认long long不会溢出

2.7防止取余出现负数

由于都是对7取模,我们可以分步取模

发现2^i对7取模有规律,只要i^2对7取模与其相等就得解


面包(bread.cpp)

DXY想在一些城市之间开一家面包店。

面包店必须要和小麦店连通,但是这些城市中有小麦店的城市只有K个,很坑的是DXY不喜欢在有小麦店的城市开面包店。一共有n个城市,m条双向路径,K个城市有小麦店。求面包店和小麦店的最短距离是多少。(不能开店的话输出-1)

第一行:n,m,k

第二行到第m+1行,m条路径,u,v,w(表示从u城市到v城市有一条长度为w的边)

第三行一共k个数,表示有小麦店的城市的编号。

样例:

输入:

5 4 2
1 2 5
1 2 3
2 3 4
1 4 10
1 5

输出:

3

输入:

3 1 1
1 2 3
3

输出:

-1


刚开始想写spfa 后来觉得……

因为只有开店和小麦2种店
不存在经过2条路的最短路
最短路一定是直连的
用f数组来存是不是小麦店 最早的时候全部赋值0代表不是小麦 读入的时候改成1表示是小麦店
然后就只需要遍历每一条边
如果他们的2个端点满足一个小麦一个开店就可能成为最短
每次更新ans  然后输出就完了
于是就不需要存图 开个二维数组就完了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define maxn 100005
#define qaq 0xfffffff
using namespace std; int ans=qaq;
int n,m,k;//<=100000
int xiaomai;
int f[maxn];
int QAQ[maxn][]; int main()
{
memset(f,,sizeof(f));
cin>>n>>m>>k;
for(int i=;i<=m;++i)
{
scanf("%d%d%d",&QAQ[i][],&QAQ[i][],&QAQ[i][]);//A B W
}
for(int i=;i<=k;++i)
{
scanf("%d",&xiaomai);
f[xiaomai]=;
}
for(int i=;i<=m;++i)
{
if(f[QAQ[i][]]!=f[QAQ[i][]])
{
ans=min(ans,QAQ[i][]);
}
}
if(ans==qaq)puts("-1");
else printf("%d\n",ans);
return ;
}

dq(dq.cpp)

给定一个数列a[1],a[2],a[3]…a[n],每次操作将数列的最后一个数字放到数列的第一位,问是否存在一种操作,使得操作之后数列变为一个不下降序列。最少的操作数是多少。不存在就输出-1

样例输入

2
2 1

样例输出

1

样例输入

3
1 3 2

样例输出

-1

样例输入

2
1 2

样例输出

0


先判断最后一个是不是小于等于第一个,如果不是就有两种情况

①如果是的话,就从后面往前面搬,找到第一个不满足条件的,截取然后搬过去,检验一下前面那一段和后面那一段是不是都是不下降的,并且最后一个小于等于第一个

②原序列本就是不下降的

然后判断一下就完啦

#include<iostream>
#include<cstdio>
#include<algorithm>
#define LiangJiaJun main
#define INF 1999122700
using namespace std;
int n,a[],k,l,r,mint=INF,maxn=;
int LiangJiaJun(){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
mint=min(mint,a[i]);
maxn=max(maxn,a[i]);
}
for(int i=;i<=n;i++)a[i+n]=a[i];
l=n+;r=n+n;int ans=;
while(l>&&r>n){
if(a[l]==mint&&a[r]==maxn){
bool q=;
for(int i=l;i<r;i++){
if(a[i]>a[i+]){
q=;break;
}
}
if(!q)return printf("%d\n",ans),;
}
--l;--r;++ans;
}
puts("-1");
return ;
}

套题T2的更多相关文章

  1. Educational Codeforces Round 15 套题

    这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...

  2. 【套题】qbxt国庆刷题班D1

    Day1 事实上D1的题目还是比较简单的= =然而D1T2爆炸了就十分尴尬--错失一波键盘 看题 T1 传送门 Description 现在你手里有一个计算器,上面显示了一个数\(S\),这个计算器十 ...

  3. 第46套题【STL】【贪心】【递推】【BFS 图】

    已经有四套题没有写博客了.今天改的比较快,就有时间写.今天这套题是用的图片的形式,传上来不好看,就自己描述吧. 第一题:单词分类 题目大意:有n个单词(n<=10000),如果两个单词中每个字母 ...

  4. Moscow Pre-Finals Workshop 2016. Japanese School OI Team Selection. 套题详细解题报告

    写在前面 谨以此篇题解致敬出题人! 真的期盼国内也能多出现一些这样质量的比赛啊.9道题中,没有一道凑数的题目,更没有码农题,任何一题拿出来都是为数不多的好题.可以说是这一年打过的题目质量最棒的五场比赛 ...

  5. 【套题】qbxt国庆刷题班D2

    D2 今天的题感觉还是好妙的 T1 传送门 Description 现在有一张\(n\)个节点\(m\)条边的无向连通图\(G=(V,E)\),满足这张图中不存在长度大于等于3的环且图中没有重边和自环 ...

  6. Tarjan & LCA 套题题目题解

    刷题之前来几套LCA的末班 对于题目 HDU 2586 How far away 2份在线模板第一份倍增,倍增还是比较好理解的 #include <map> #include <se ...

  7. 【学术篇】规律选手再次证明自己(舒老师的胡策题 T2 LX还在迷路)

    只要你不强制在线, 我就能分块. --Reflash 就算你强制在线, 我还是要分块. --Enzymii 今天做了一波舒老师的毒瘤题, T1据说很水但是没思路所以直接放掉了.. 去看了看T2好像可以 ...

  8. 套题 codeforces 361

    A题((Mike and Cellphone) 看起来好像需要模拟数字键位的运动,可是,只要判断出那些必然YES的数字组合不就好了么 #include <cstdio> #include ...

  9. 套题 codeforces 360

    A题:Opponents 直接模拟 #include <bits/stdc++.h> using namespace std; ]; int main() { int n,k; while ...

随机推荐

  1. ThoughtWorks FizzBuzzWhizz 代码实现

    当时拉钩网ThoughtWorks出了一道面试题(https://www.jinshuju.net/f/EGQL3D),本人用PHP实现了一下,当时忘记了把代码分享出来,今天特来补上. FizzBuz ...

  2. js阻止冒泡事件及默认操作

    1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览器实现 .jQuery对 ...

  3. 开发流程习惯的养成—TFS简单使用

    才开始用,所以是个很基础的介绍,欢迎大家一起交流学习 一.追本溯源 讲到开发流程,还要从敏捷开始,因为敏捷才有了开发流程的重视,整个流程也是按照敏捷的思想进行的,这里不再叙述敏捷的定义 敏捷的流程(个 ...

  4. 浅谈 WPF控件

    首先我们必须知道在WPF中,控件通常被描述为和用户交互的元素,也就是能够接收焦点并响应键盘.鼠标输入的元素.我们可以把控件想象成一个容器,容器里装的东西就是它的内容.控件的内容可以是数据,也可以是控件 ...

  5. 1049. Counting Ones/整数中1出现的次数(从1到n整数中1出现的次数)

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

  6. .Net码农学Android---系统架构和基本概念

    至此,你应该已经完成以下前期准备事情: 1.安装完JDK 2.安装完SDK(并在Manager中进行相关版本的更新) 3.相关IDE(如eclipse) 4.安装完ADT 5.安装完AVD(如果你是真 ...

  7. AVG()和to_date()函数的使用

    1.一道关于AVG函数和NULL值的面试题 某部门有10个员工,其中9个工资为1000,另一个为NULL,当使用AVG函数取该部门平均工资时,结果应该是多少? A.1000 B.900 我这里把题目再 ...

  8. LCA专题

    标签(空格分隔): LCA 我的个人网站挂了,最近就先用这个来写博客吧.以后争取在这个网站写一些与OI无关的个人爱好的东西. 题目来源:code[VS] 倍增--在线算法 用 $f[i][j]$ 记录 ...

  9. ASP.NET Web - 开篇

    ASP.NET运行库 服务器系统上需要ASP.NET运行库.如果系统上有IIS,就会在安装.NET Framework时为服务器配置ASP.NET运行库.开发过程中,不需要IIS,因为VS发布了自己的 ...

  10. javascript之流程控制 和函数的容易忽略点

    1.流程控制 1> for in  仅用于 对象的遍历: var box={ "name":'小红', 'age':18, 'height':165 }; for(var b ...