D
Posted 柳暗花明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D相关的知识,希望对你有一定的参考价值。
D - Writing a Numeral
https://atcoder.jp/contests/abc298/tasks/abc298_d
思路
双端队列, 保证执行插入和删除动作的同时,
动态计算 结果。
模运算
https://www.cnblogs.com/wlw-x/p/11735614.html
Code
https://atcoder.jp/contests/abc298/submissions/40682419
#include <iomanip> #include <bits/stdc++.h> #include <iostream> using namespace std; #include <limits.h> #include <math.h> #include <vector> #include <set> #include <map> #include <stack> #include <queue> typedef long long LL; typedef pair<int, int> pii; typedef pair<LL, LL> pll; typedef pair<string, string> pss; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pii> vii; typedef vector<LL> vl; typedef vector<vl> vvl; double EPS = 1e-9; int INF = 1000000005; long long INFF = 1000000000000000005LL; double PI = acos(-1); int dirx[8] = -1, 0, 0, 1, -1, -1, 1, 1 ; int diry[8] = 0, 1, -1, 0, -1, 1, -1, 1 ; #ifdef TESTING #define DEBUG fprintf(stderr, "====TESTING====\\n") #define VALUE(x) cerr << "The value of " << #x << " is " << x << endl #define debug(...) fprintf(stderr, __VA_ARGS__) #else #define DEBUG #define VALUE(x) #define debug(...) #endif #define FOR(a, b, c) for (int(a) = (b); (a) < (c); ++(a)) #define FORN(a, b, c) for (int(a) = (b); (a) <= (c); ++(a)) #define FORD(a, b, c) for (int(a) = (b); (a) >= (c); --(a)) #define FORSQ(a, b, c) for (int(a) = (b); (a) * (a) <= (c); ++(a)) #define FORC(a, b, c) for (char(a) = (b); (a) <= (c); ++(a)) #define FOREACH(a, b) for (auto&(a) : (b)) #define REP(i, n) FOR(i, 0, n) #define REPN(i, n) FORN(i, 1, n) #define MAX(a, b) a = max(a, b) #define MIN(a, b) a = min(a, b) #define SQR(x) ((LL)(x) * (x)) #define RESET(a, b) memset(a, b, sizeof(a)) #define fi first #define se second #define mp make_pair #define pb push_back #define ALL(v) v.begin(), v.end() #define ALLA(arr, sz) arr, arr + sz #define SIZE(v) (int)v.size() #define SORT(v) sort(ALL(v)) #define REVERSE(v) reverse(ALL(v)) #define SORTA(arr, sz) sort(ALLA(arr, sz)) #define REVERSEA(arr, sz) reverse(ALLA(arr, sz)) #define PERMUTE next_permutation #define TC(t) while (t--) /******************************** COMMON FUNC START ***************************************/ LL quick_pow(LL x,LL n,LL m) LL res = 1; while(n > 0) if(n & 1) res = res * x % m; x = x * x % m; n >>= 1;//相当于n=n/2.详情请参考位移运算符。 return res; inline string IntToString(LL a) char x[100]; sprintf(x, "%lld", a); string s = x; return s; inline LL StringToInt(string a) char x[100]; LL res; strcpy(x, a.c_str()); sscanf(x, "%lld", &res); return res; inline string GetString(void) char x[1000005]; scanf("%s", x); string s = x; return s; inline string uppercase(string s) int n = SIZE(s); REP(i, n) if (s[i] >= \'a\' && s[i] <= \'z\') s[i] = s[i] - \'a\' + \'A\'; return s; inline string lowercase(string s) int n = SIZE(s); REP(i, n) if (s[i] >= \'A\' && s[i] <= \'Z\') s[i] = s[i] - \'A\' + \'a\'; return s; inline void OPEN(string s) #ifndef TESTING freopen((s + ".in").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); #endif /******************************** COMMON FUNC END ***************************************/ /******************************** GRAPH START ***************************************/ // Graph class represents a directed graph // using adjacency list representation class Graph public: map<int, bool> visited; map<int, list<int> > adj; // function to add an edge to graph void addEdge(int v, int w); // DFS traversal of the vertices // reachable from v void DFS(int v); ; void Graph::addEdge(int v, int w) adj[v].push_back(w); // Add w to v’s list. void Graph::DFS(int v) // Mark the current node as visited and // print it visited[v] = true; cout << v << " "; // Recur for all the vertices adjacent // to this vertex list<int>::iterator i; for (i = adj[v].begin(); i != adj[v].end(); ++i) if (!visited[*i]) DFS(*i); /******************************** GRAPH END ***************************************/ /* https://atcoder.jp/contests/abcxxx/tasks/abcxxx_d */ const long long base = 998244353; long long q; long long ans = 1; deque<int> s; int main() cin >> q; s.push_back(1); ans = 1; vector<long long> exp10 (q+5,1); for(int i=1; i<=q; i++) exp10[i] = (exp10[i-1] * 10)%base; for(int ii=0; ii<q; ii++) int t; int d; cin >> t; if (t == 1) cin >> d; s.push_back(d); ans = (ans*10%base + d)%base; else if (t == 2) int f = s.front(); int fpower = s.size() - 1; s.pop_front(); ans = ((ans - f*exp10[fpower])%base + base)%base; else if (t == 3) cout<<ans<<endl; return 0;
出处:http://www.cnblogs.com/lightsong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
laravel 日志分析
<?php $logs = ‘/[d{4}-d{2}-d{2} d{2}:d{2}:d{2}([+-]d{4})?].*/‘; $current_log = [ ‘/^[(d{4}-d{2}-d{2} d{2}:d{2}:d{2}([+-]d{4})?)](?:.*?(w+).|.*?)‘, ‘: (.*?)( in .*?:[0-9]+)?$/i‘ ]; $log_day=date("Y-m-d"); $file="/mnt/hgfs/CentOS7/cdn.ikuai8.com/storage/logs/laravel-2020-05-20.log"; $content=file_get_contents($file); preg_match_all($logs, $content, $headings); //$log_data = preg_split($logs, $content); $levels_imgs = [ ‘debug‘ => ‘info-circle‘, ‘info‘ => ‘info-circle‘, ‘notice‘ => ‘info-circle‘, ‘warning‘ => ‘exclamation-triangle‘, ‘error‘ => ‘exclamation-triangle‘, ‘critical‘ => ‘exclamation-triangle‘, ‘alert‘ => ‘exclamation-triangle‘, ‘emergency‘ => ‘exclamation-triangle‘, ‘processed‘ => ‘info-circle‘, ‘failed‘ => ‘exclamation-triangle‘ ]; $log_info=[]; foreach ($headings as $h) { for ($i = 0, $j = count($h); $i < $j; $i++) { foreach (array_keys($levels_imgs) as $level) { if (strpos(strtolower($h[$i]), ‘.‘ . $level) || strpos(strtolower($h[$i]), $level . ‘:‘)) { preg_match($current_log[0] . $level . $current_log[1], $h[$i], $current); if (!isset($current[4])) { continue; } $log_info[] = array( ‘context‘ => $current[3], ‘level‘ => $level, ‘date‘ => $current[1], ‘text‘ => $current[4], ‘in_file‘ => isset($current[5]) ? $current[5] : null, ); } } } } array_reverse($log_info); $error_num=5; $current_error_num=0; foreach($log_info as $log_val){ if($current_error_num<$error_num){ echo "----------------------------------------------------- "; foreach($log_val as $_key=>$_val){ echo "[$_key]: ".$_val." "; } $current_error_num+=1; } }
以上是关于D的主要内容,如果未能解决你的问题,请参考以下文章