博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu3090 [USACO13NOV]空荡荡的摊位Empty Stalls (动态规划)
阅读量:5112 次
发布时间:2019-06-13

本文共 1283 字,大约阅读时间需要 4 分钟。

#include 
#include
#include
#include
#include
#define R(a,b,c) for(register int a = (b); a <= (c); ++ a)#define nR(a,b,c) for(register int a = (b); a >= (c); -- a)#define Max(a,b) ((a) > (b) ? (a) : (b))#define Min(a,b) ((a) < (b) ? (a) : (b))#define Fill(a,b) memset(a, b, sizeof(a))#define Swap(a,b) a^=b^=a^=b#define ll long long#define ON_DEBUG#ifdef ON_DEBUG#define D_e_Line printf("\n\n----------\n\n")#define D_e(x) cout << #x << " = " << x << endl#define Pause() system("pause")#else#define D_e_Line ;#endifstruct ios{ template
ios& operator >> (ATP &x){ x = 0; int f = 1; char c; for(c = getchar(); c < '0' || c > '9'; c = getchar()) if(c == '-') f = -1; while(c >= '0' && c <= '9') x = x * 10 + (c ^ '0'), c = getchar(); x*= f; return *this; }}io;using namespace std;int f[3000007];int main(){ int n, m; io >> n >> m; R(i,1,m){ int x, y, a, b; io >> x >> y >> a >> b; R(j,1,y) f[1ll * (1ll * a * j + b) % n] += x; } int flag = false; while(!flag || f[0] > 1){ R(i,0,n - 1){ if(f[i] > 1){ f[(i + 1) % n] += f[i] - 1; f[i] = 1; } } flag = true; } R(i,0,n){ if(f[i] == 0){ printf("%d", i); return 0; } } return 0;}

1570282-20190720132904424-385034223.png

转载于:https://www.cnblogs.com/bingoyes/p/11206370.html

你可能感兴趣的文章
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>
Oracle中的rownum不能使用大于>的问题
查看>>
cassandra vs mongo (1)存储引擎
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
遍历Map对象
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
(转)Android之发送短信的两种方式
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>