2017 浙大校赛 [Cloned]
https://vjudge.net/contest/285902#overview
A.Marjar Cola
#include <bits/stdc++.h>
using namespace std; int T; int main() {
scanf("%d", &T);
while(T --) {
int x, y, a, b;
int ans = ;
scanf("%d%d%d%d", &x, &y, &a, &b);
if(x == || y == || (x == && y == && a == ) ||(x == && y == && b == )) {
printf("INF\n");
continue;
} while() {
if(a < x && b < y) break;
int num1 = a / x;
int num2 = b / y;
ans += (num1 + num2);
a = a - num1 * x + num1 + num2;
b = b - num2 * y + num1 + num2;
}
printf("%d\n", ans);
}
return ;
}
C.How many Nines
#include <bits/stdc++.h>
using namespace std;
int dp[][][];
int date[]={,,,,,,,,,,,,};
int cal(int x)
{
if(x%==||(x%==&&x%!=))
return ;
else return ;
}
int check(int x,int y,int z)
{
int ans=;
while(x)
{
if(x%==) ans++;
x/=;
}
while(y)
{
if(y%==) ans++;
y/=;
}
while(z)
{
if(z%==) ans++;
z/=;
}
return ans;
}
int find_last(int x,int y,int z)
{
if(z!=) return dp[x][y][z-];
int day=date[y-];
if(y==) day=cal(x);
if(y!=) return dp[x][y-][day];
return dp[x-][][];
}
int main()
{
for(int i=;i<=;i++)
{
int last_day;
for(int j=;j<=;j++)
{
int day=date[j];
if(j==) day=cal(i);
for(int k=;k<=day;k++)
{
dp[i][j][k]=check(i,j,k);
if(k!=) dp[i][j][k]+=dp[i][j][k-];
else if(j!=) dp[i][j][k]+=dp[i][j-][last_day];
else dp[i][j][k]+=dp[i-][][];
}
last_day=day;
}
}
int T;scanf("%d",&T);
while(T--)
{
int x1,y1,z1,x2,y2,z2;
scanf("%d%d%d%d%d%d",&x1,&y1,&z1,&x2,&y2,&z2);
printf("%d\n",dp[x2][y2][z2]-find_last(x1,y1,z1));
}
}
F.Intervals
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
int T; struct Node{
int l;
int r;
int num;
}node[maxn], n[maxn]; bool cmp(const Node &a, const Node &b) {
if(a.l != b.l) return a.l < b.l;
else return a.r < b.r;
} bool cmpp(const Node &a, const Node &b) {
return a.r > b.r;
} bool isin(const Node &a, const Node &b, const Node &c) {
if(a.r >= b.l && b.r >= c.l && a.r >= c.l) return true;
return false;
} int main() {
scanf("%d", &T);
while(T --) {
int N;
scanf("%d", &N);
for(int i = ; i <= N; i ++) {
scanf("%d%d", &node[i].l, &node[i].r);
node[i].num = i;
} vector<int> ans;
sort(node + , node + + N, cmp);
n[] = node[], n[] = node[];
for(int i = ; i <= N; i ++) {
n[] = node[i];
sort(n + , n + + , cmp);
if(isin(n[], n[], n[])) {
sort(n + , n + + , cmpp);
ans.push_back(n[].num);
swap(n[], n[]);
}
else sort(n + , n + + , cmpp);
} sort(ans.begin(), ans.end());
printf("%d\n", ans.size());
for(int i = ; i < ans.size(); i ++)
printf("%d%s", ans[i], i != ans.size() - ? " " : "\n"); }
return ;
}
G.Seven-Segment Display
#include<bits/stdc++.h>
using namespace std;
const int maxn=;
bitset<maxn>G[][],ans;
int t[];
bool vis[];
void work(int P)
{
for(int i=;i<(<<);i++)
{
memset(vis,,sizeof(vis));
for(int k=;k<;k++)
if(!(i>>k&)) vis[t[k]]=;
if(vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
if(vis[]&&vis[]&&vis[]&&vis[]&&vis[]&&vis[]) G[i][][P]=;
}
}
int main()
{
for(int i=;i<;i++)
t[i]=i;
int k=;
do
{
work(k);
k++;
}while(next_permutation(t,t+));
int T;scanf("%d",&T);
while(T--)
{
ans.set();
int n;scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&k);
int x=;char str[];scanf("%s",&str);
for(int j=;j<;j++)
x=x*+str[j]-'';
ans&=G[x][k];
}
if(ans.any()) printf("YES\n");
else printf("NO\n");
}
}
H.Saddle Points
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+;
int t[][],p[][],tmp[],kp[];
struct node
{
int id,val;
}b[];
bool cmp1(const node &A,const node &B)
{
return A.val>B.val;
}
bool cmp2(const node &A,const node &B)
{
return A.val<B.val;
}
int main()
{
kp[]=;
for(int i=;i<;i++)
kp[i]=kp[i-]*%mod;
int T;scanf("%d",&T);
while(T--)
{
int n,m;scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&t[i][j]),p[i][j]=;
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
b[j].id=j,b[j].val=t[i][j],tmp[j]=;
sort(b+,b+m+,cmp1);
for(int j=;j<=m;j++)
{
if(b[j].val==b[j-].val)
tmp[b[j].id]=tmp[b[j-].id];
else tmp[b[j].id]=j-;
}
for(int j=;j<=m;j++)
p[i][j]+=tmp[j];
}
for(int j=;j<=m;j++)
{
for(int i=;i<=n;i++)
b[i].id=i,b[i].val=t[i][j],tmp[i]=;
sort(b+,b+n+,cmp2);
for(int i=;i<=n;i++)
{
if(b[i].val==b[i-].val)
tmp[b[i].id]=tmp[b[i-].id];
else
tmp[b[i].id]=i-;
}
for(int i=;i<=n;i++)
p[i][j]+=tmp[i];
}
int ans=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
ans=(ans+kp[p[i][j]])%mod;
printf("%d\n",ans);
}
}
I.Course Selection System
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
int T;
int h[maxn], c[maxn];
int dp[maxn]; int main() {
scanf("%d", &T);
while(T --) {
int N;
long long ans = ;
scanf("%d", &N); long long sum1 = ;
for(int i = ; i < N; i ++) {
scanf("%d%d", &h[i], &c[i]);
sum1 += c[i];
}
for(int i=;i<=sum1;i++)
{
dp[i]=;
}
for(int i = ; i < N; i ++) {
for(int j = sum1; j >= c[i]; j --) {
if(dp[j] < dp[j - c[i]] + h[i]) {
dp[j] = dp[j - c[i]] + h[i];
long long cnt = 1LL*dp[j] * dp[j] - 1LL * dp[j] * j - 1LL * j * j;
if(cnt > ans) ans = cnt;
}
}
} printf("%lld\n", ans);
}
return ;
}
J.Knuth-Morris-Pratt Algorithm
#include <bits/stdc++.h>
using namespace std;
char t[];
int main()
{
int T;scanf("%d",&T);
while(T--)
{
scanf("%s",t+);
int ans=,len=strlen(t+);
for(int i=;i<=len;i++)
{
if(t[i]=='c'&&i<=len-&&t[i+]=='a'&&t[i+]=='t')
ans++;
if(t[i]=='d'&&i<=len-&&t[i+]=='o'&&t[i+]=='g')
ans++;
}
printf("%d\n",ans);
}
}
有队友的快落
2017 浙大校赛 [Cloned]的更多相关文章
- 2017 Fzu校赛 [Cloned]
A - Salty Fish 海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼.一个善良的渔夫想要帮这些咸鱼翻身,但是渔夫比较懒,所以只会从某只咸鱼开始,往一个方向, ...
- 2019浙大校赛--E--Potion(签到水题)
一丢丢思维就ok 题目大意: 魔法师要煮药,有n个等级的药,所需要的药物为a1,a2...an,意为第n级需要多少药物,下一行为库存的不同等级药物,药物可降级使用不可升级. 思路:从高级药物开始解,把 ...
- 2019浙大校赛--J--Extended Twin Composite Number(毒瘤水题)
毒瘤出题人,坑了我们好久,从基本的素数筛选,到埃氏筛法,到随机数快速素数判定,到费马小定理,好好的水题做成了数论题. 结果答案是 2*n=n+3*n,特判1,2. 以下为毒瘤题目: 题目大意: 输入一 ...
- 2019浙大校赛--A--Thanks, TuSimple!(简单模拟题)
这题前三段都是一堆吹爆赞助商的屁话,正式题目在图片下边,一个简单模拟题. 题目大意: 有n个男生,m个女生在进行舞会,其中一部分男生祥和比自己矮的女生跳舞,一部分男生想和比自己高的女生跳舞,一部分女生 ...
- 2019浙大校赛--G--Postman(简单思维题)
一个思维水题 题目大意为,一个邮递员要投递N封信,一次从邮局来回只能投递K封.求最短的投递总距离.需注意,最后一次投递后无需返回邮局. 本题思路要点: 1.最后一次投递无需返回邮局,故最后一次投递所行 ...
- ZOJ 3949 (17th 浙大校赛 B题,树型DP)
题目链接 The 17th Zhejiang University Programming Contest Problem B 题意 给定一棵树,现在要加一条连接$1$(根结点)和$x$的边,求加 ...
- 2017多校赛 Function
Function Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
- 2017校赛 问题 F: 懒人得多动脑
题目描述 小D的家A和学校B都恰好在以点F为焦点的双曲线上,而小D每日所需的生活水源在一条平行该双曲线准线的直线上,设它的值为v.大家都知道,每天都是要喝水的,但是小D有点懒,他希望自己能在去上学或者 ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
随机推荐
- zip 的 压缩与解压
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xiananliu/article/details/23993481 zip格式是开源的相比rar格式 ...
- 转://Linux下tmpfs介绍及使用
tmpfs介绍 tmpfs是一种虚拟内存文件系统,而不是块设备.是基于内存的文件系统,创建时不需要使用mkfs等初始化它最大的特点就是它的存储空间在VM(virtual memory),VM是由lin ...
- LeetCode - 排列相关题目
1.获取全排列 https://leetcode.com/problems/permutations/submissions/ 按字典序输出: 这里用的是vector<int>,不是引用. ...
- Ceph的BlueStore总体介绍
整体架构 bluestore的诞生是为了解决filestore自身维护一套journal并同时还需要基于系统文件系统的写放大问题,并且filestore本身没有对SSD进行优化,因此bluestore ...
- ORA-245: In RAC environment from 11.2 onwards Backup Or Snapshot controlfile needs to be in shared location (Doc ID 1472171.1)
巡检时遇到错误如下: alert日志: Wed Dec 19 01:00:29 2018Errors in file /oracle/base/diag/rdbms/usap/usap1/trace/ ...
- intellij idea 修改背景保护色&&修改字体&&快捷键大全(转)
文章转自http://blog.csdn.net/hpf911/article/details/16888797 近Idea比较流行,Eclipse因为maven的问题,运行起来非常慢,各种提示也不够 ...
- leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列
字符串排列和PermutationsII差不多 Permutations第一种解法: 这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字 class S ...
- 最小生成树(图论)--3366lg【模版】
题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<= ...
- warning: ISO C++ forbids converting a string constant to 'char*'
第1种字符串赋值方式: char * fileName="./2017-09-02-10-34-10.xml";//这一种字符串赋值方式已经被ISO禁止了 第2种字符串赋值方式: ...
- JS常见的小代码
一:去掉数组里面的重复项. 比如 如下一个数组:var arr = [1,2,4,3,4,3]; 我想要得到数组 [1,2,4,3].为这样的 写一个函数去掉重复的项. var unique = fu ...