牛客小白月赛95

愛在花開的季節  金牌会员 | 2024-6-24 04:28:46 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 667|帖子 667|积分 2001

vp,为背面的比赛做预备
A.相遇


  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <set>
  5. #include <unordered_map>
  6. #include <cstring>
  7. #include <cstdio>
  8. #include <string>
  9. #include <queue>
  10. #include <stack>
  11. #include <map>
  12. #include <list>
  13. #include <bitset>
  14. #include <cmath>
  15. #include <numeric>
  16. //#define endl '\n'
  17. #define fi first
  18. #define se second
  19. #define pf push_front
  20. #define cl clear
  21. #define bg begin
  22. #define ed end
  23. #define sz size
  24. #define fd find
  25. #define is insert
  26. #define pr(x) cout<<x<<'\n'
  27. #define yes cout << "yes\n"
  28. #define no cout << "no\n"
  29. #define Yes cout << "Yes\n"
  30. #define No cout << "No\n"
  31. #define YES cout << "YES\n"
  32. #define NO cout << "NO\n"
  33. #define pb push_back
  34. #define eb emplace_back
  35. #define all(x) x.begin(), x.end()
  36. #define unq_all(x) x.erase(unique(all(x)), x.end())
  37. #define sort_all(x) sort(all(x))
  38. #define reverse_all(x) reverse(all(x))
  39. #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
  40. #define INF 0x7fffffff
  41. #define INFLL 0x7fffffffffffffffLL
  42. #define RED cout << "\033[91m"
  43. #define GREEN cout << "\033[92m"
  44. #define YELLOW cout << "\033[93m"
  45. #define BLUE cout << "\033[94m"
  46. #define MAGENTA cout << "\033[95m"
  47. #define CYAN cout << "\033[96m"
  48. #define RESET cout << "\033[0m"
  49. // 红色
  50. #define DEBUG1(x)                     \
  51.     RED;                              \
  52.     cout << #x << " : " << x << endl; \
  53.     RESET;
  54. // 绿色
  55. #define DEBUG2(x)                     \
  56.     GREEN;                            \
  57.     cout << #x << " : " << x << endl; \
  58.     RESET;
  59. // 蓝色
  60. #define DEBUG3(x)                     \
  61.     BLUE;                             \
  62.     cout << #x << " : " << x << endl; \
  63.     RESET;
  64. // 品红
  65. #define DEBUG4(x)                     \
  66.     MAGENTA;                          \
  67.     cout << #x << " : " << x << endl; \
  68.     RESET;
  69. // 青色
  70. #define DEBUG5(x)                     \
  71.     CYAN;                             \
  72.     cout << #x << " : " << x << endl; \
  73.     RESET;
  74. // 黄色
  75. #define DEBUG6(x)                     \
  76.     YELLOW;                           \
  77.     cout << #x << " : " << x << endl; \
  78.     RESET;
  79. using namespace std;
  80. const double Eps = 1e-8;
  81. const double PI = acos(-1.0);
  82. const int N = 1e6+5;
  83. const int MOD = 1e9+7;
  84. typedef long long ll;
  85. typedef unsigned long long ull;
  86. typedef pair<int, int> pii;
  87. typedef pair<ll, ll> pll;
  88. typedef pair<string, string> pss;
  89. typedef pair<string, int> psi;
  90. typedef pair<string, ll> psl;
  91. typedef vector<bool> vb;
  92. typedef vector<int> vi;
  93. typedef vector<ll> vl;
  94. typedef vector<string> vs;
  95. typedef vector<pii> vpii;
  96. typedef vector<pll> vpll;
  97. typedef vector<pss> vpss;
  98. typedef vector<vi> vvi;
  99. typedef vector<vl> vvl;
  100. typedef queue<int> qi;
  101. typedef queue<ll> ql;
  102. typedef queue<pii> qpii;
  103. typedef queue<pll> qpll;
  104. typedef queue<psi> qpsi;
  105. typedef queue<psl> qpsl;
  106. typedef priority_queue<int> pqi;
  107. typedef priority_queue<ll> pql;
  108. typedef priority_queue<string> pqs;
  109. typedef priority_queue<pii> pqpii;
  110. typedef priority_queue<psi> pqpsi;
  111. typedef priority_queue<pll> pqpl;
  112. typedef priority_queue<psi> pqpsl;
  113. typedef map<int, int> mii;
  114. typedef map<int, bool> mib;
  115. typedef map<ll, ll> mll;
  116. typedef map<ll, bool> mlb;
  117. typedef map<char, int> mci;
  118. typedef map<char, ll> mcl;
  119. typedef map<char, bool> mcb;
  120. typedef map<string, int> msi;
  121. typedef map<string, ll> msl;
  122. typedef map<int, bool> mib;
  123. typedef unordered_map<int, int> umii;
  124. typedef unordered_map<ll, ll> uml;
  125. typedef unordered_map<char, int> umci;
  126. typedef unordered_map<char, ll> umcl;
  127. typedef unordered_map<string, int> umsi;
  128. typedef unordered_map<string, ll> umsl;
  129. template <typename T>
  130. inline void read(T &x)
  131. {
  132.     T f = 1;
  133.     x = 0;
  134.     char ch = getchar();
  135.     while (0 == isdigit(ch))
  136.     {
  137.         if (ch == '-')
  138.             f = -1;
  139.         ch = getchar();
  140.     }
  141.     while (0 != isdigit(ch))
  142.         x = (x << 1) + (x << 3) + ch - '0', ch = getchar();
  143.     x *= f;
  144. }
  145. template <typename T>
  146. inline void write(T x)
  147. {
  148.     if (x < 0)
  149.     {
  150.         x = ~(x - 1);
  151.         putchar('-');
  152.     }
  153.     if (x > 9)
  154.         write(x / 10);
  155.     putchar(x % 10 + '0');
  156. }
  157. int a,b;
  158. void solve()
  159. {
  160.         cin>>a>>b;
  161.         if(a==b) pr("p");
  162.         else if(a<b&&b==a+1||a==3&&b==1) pr("a");
  163.         else pr("b");
  164. }
  165. int main()
  166. {
  167.         IOS;
  168.         int _=1;
  169. //        cin>>_;
  170.         while(_--)
  171.         {
  172.                 solve();
  173.         }
  174.         return 0;
  175. }
复制代码
 
B.宝石
 

  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <set>
  5. #include <unordered_map>
  6. #include <cstring>
  7. #include <cstdio>
  8. #include <string>
  9. #include <queue>
  10. #include <stack>
  11. #include <map>
  12. #include <list>
  13. #include <bitset>
  14. #include <cmath>
  15. #include <numeric>
  16. //#define endl '\n'
  17. #define fi first
  18. #define se second
  19. #define pf push_front
  20. #define cl clear
  21. #define bg begin
  22. #define ed end
  23. #define sz size
  24. #define fd find
  25. #define is insert
  26. #define pr(x) cout<<x<<'\n'
  27. #define yes cout << "yes\n"
  28. #define no cout << "no\n"
  29. #define Yes cout << "Yes\n"
  30. #define No cout << "No\n"
  31. #define YES cout << "YES\n"
  32. #define NO cout << "NO\n"
  33. #define pb push_back
  34. #define eb emplace_back
  35. #define all(x) x.begin(), x.end()
  36. #define unq_all(x) x.erase(unique(all(x)), x.end())
  37. #define sort_all(x) sort(all(x))
  38. #define reverse_all(x) reverse(all(x))
  39. #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
  40. #define INF 0x7fffffff
  41. #define INFLL 0x7fffffffffffffffLL
  42. #define RED cout << "\033[91m"
  43. #define GREEN cout << "\033[92m"
  44. #define YELLOW cout << "\033[93m"
  45. #define BLUE cout << "\033[94m"
  46. #define MAGENTA cout << "\033[95m"
  47. #define CYAN cout << "\033[96m"
  48. #define RESET cout << "\033[0m"
  49. // 红色
  50. #define DEBUG1(x)                     \
  51.     RED;                              \
  52.     cout << #x << " : " << x << endl; \
  53.     RESET;
  54. // 绿色
  55. #define DEBUG2(x)                     \
  56.     GREEN;                            \
  57.     cout << #x << " : " << x << endl; \
  58.     RESET;
  59. // 蓝色
  60. #define DEBUG3(x)                     \
  61.     BLUE;                             \
  62.     cout << #x << " : " << x << endl; \
  63.     RESET;
  64. // 品红
  65. #define DEBUG4(x)                     \
  66.     MAGENTA;                          \
  67.     cout << #x << " : " << x << endl; \
  68.     RESET;
  69. // 青色
  70. #define DEBUG5(x)                     \
  71.     CYAN;                             \
  72.     cout << #x << " : " << x << endl; \
  73.     RESET;
  74. // 黄色
  75. #define DEBUG6(x)                     \
  76.     YELLOW;                           \
  77.     cout << #x << " : " << x << endl; \
  78.     RESET;
  79. using namespace std;
  80. const double Eps = 1e-8;
  81. const double PI = acos(-1.0);
  82. const int N = 1e6+5;
  83. const int MOD = 1e9+7;
  84. typedef long long ll;
  85. typedef unsigned long long ull;
  86. typedef pair<int, int> pii;
  87. typedef pair<ll, ll> pll;
  88. typedef pair<string, string> pss;
  89. typedef pair<string, int> psi;
  90. typedef pair<string, ll> psl;
  91. typedef vector<bool> vb;
  92. typedef vector<int> vi;
  93. typedef vector<ll> vl;
  94. typedef vector<string> vs;
  95. typedef vector<pii> vpii;
  96. typedef vector<pll> vpll;
  97. typedef vector<pss> vpss;
  98. typedef vector<vi> vvi;
  99. typedef vector<vl> vvl;
  100. typedef queue<int> qi;
  101. typedef queue<ll> ql;
  102. typedef queue<pii> qpii;
  103. typedef queue<pll> qpll;
  104. typedef queue<psi> qpsi;
  105. typedef queue<psl> qpsl;
  106. typedef priority_queue<int> pqi;
  107. typedef priority_queue<ll> pql;
  108. typedef priority_queue<string> pqs;
  109. typedef priority_queue<pii> pqpii;
  110. typedef priority_queue<psi> pqpsi;
  111. typedef priority_queue<pll> pqpl;
  112. typedef priority_queue<psi> pqpsl;
  113. typedef map<int, int> mii;
  114. typedef map<int, bool> mib;
  115. typedef map<ll, ll> mll;
  116. typedef map<ll, bool> mlb;
  117. typedef map<char, int> mci;
  118. typedef map<char, ll> mcl;
  119. typedef map<char, bool> mcb;
  120. typedef map<string, int> msi;
  121. typedef map<string, ll> msl;
  122. typedef map<int, bool> mib;
  123. typedef unordered_map<int, int> umii;
  124. typedef unordered_map<ll, ll> uml;
  125. typedef unordered_map<char, int> umci;
  126. typedef unordered_map<char, ll> umcl;
  127. typedef unordered_map<string, int> umsi;
  128. typedef unordered_map<string, ll> umsl;
  129. template <typename T>
  130. inline void read(T &x)
  131. {
  132.     T f = 1;
  133.     x = 0;
  134.     char ch = getchar();
  135.     while (0 == isdigit(ch))
  136.     {
  137.         if (ch == '-')
  138.             f = -1;
  139.         ch = getchar();
  140.     }
  141.     while (0 != isdigit(ch))
  142.         x = (x << 1) + (x << 3) + ch - '0', ch = getchar();
  143.     x *= f;
  144. }
  145. template <typename T>
  146. inline void write(T x)
  147. {
  148.     if (x < 0)
  149.     {
  150.         x = ~(x - 1);
  151.         putchar('-');
  152.     }
  153.     if (x > 9)
  154.         write(x / 10);
  155.     putchar(x % 10 + '0');
  156. }
  157. int a,b;
  158. void solve()
  159. {
  160.         cin>>a>>b;
  161.         cout<<min(a+5*b,min(11*a,a+b+a+a+b+a+a+b));
  162. }
  163. int main()
  164. {
  165.         IOS;
  166.         int _=1;
  167. //        cin>>_;
  168.         while(_--)
  169.         {
  170.                 solve();
  171.         }
  172.         return 0;
  173. }
复制代码
C.相助 /  E.相依

dp,想了想维护最小值即可 ,绘图就看出来了
 
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <set>
  5. #include <unordered_map>
  6. #include <cstring>
  7. #include <cstdio>
  8. #include <string>
  9. #include <queue>
  10. #include <stack>
  11. #include <map>
  12. #include <list>
  13. #include <bitset>
  14. #include <cmath>
  15. #include <numeric>
  16. //#define endl '\n'
  17. #define fi first
  18. #define se second
  19. #define pf push_front
  20. #define cl clear
  21. #define bg begin
  22. #define ed end
  23. #define sz size
  24. #define fd find
  25. #define is insert
  26. #define pr(x) cout<<x<<'\n'
  27. #define yes cout << "yes\n"
  28. #define no cout << "no\n"
  29. #define Yes cout << "Yes\n"
  30. #define No cout << "No\n"
  31. #define YES cout << "YES\n"
  32. #define NO cout << "NO\n"
  33. #define pb push_back
  34. #define eb emplace_back
  35. #define all(x) x.begin(), x.end()
  36. #define unq_all(x) x.erase(unique(all(x)), x.end())
  37. #define sort_all(x) sort(all(x))
  38. #define reverse_all(x) reverse(all(x))
  39. #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
  40. #define INF 0x7fffffff
  41. #define INFLL 0x7fffffffffffffffLL
  42. #define RED cout << "\033[91m"
  43. #define GREEN cout << "\033[92m"
  44. #define YELLOW cout << "\033[93m"
  45. #define BLUE cout << "\033[94m"
  46. #define MAGENTA cout << "\033[95m"
  47. #define CYAN cout << "\033[96m"
  48. #define RESET cout << "\033[0m"
  49. // 红色
  50. #define DEBUG1(x)                     \
  51.     RED;                              \
  52.     cout << #x << " : " << x << endl; \
  53.     RESET;
  54. // 绿色
  55. #define DEBUG2(x)                     \
  56.     GREEN;                            \
  57.     cout << #x << " : " << x << endl; \
  58.     RESET;
  59. // 蓝色
  60. #define DEBUG3(x)                     \
  61.     BLUE;                             \
  62.     cout << #x << " : " << x << endl; \
  63.     RESET;
  64. // 品红
  65. #define DEBUG4(x)                     \
  66.     MAGENTA;                          \
  67.     cout << #x << " : " << x << endl; \
  68.     RESET;
  69. // 青色
  70. #define DEBUG5(x)                     \
  71.     CYAN;                             \
  72.     cout << #x << " : " << x << endl; \
  73.     RESET;
  74. // 黄色
  75. #define DEBUG6(x)                     \
  76.     YELLOW;                           \
  77.     cout << #x << " : " << x << endl; \
  78.     RESET;
  79. using namespace std;
  80. const double Eps = 1e-8;
  81. const double PI = acos(-1.0);
  82. const int N = 1e6+5;
  83. const int MOD = 1e9+7;
  84. typedef long long ll;
  85. typedef unsigned long long ull;
  86. typedef pair<int, int> pii;
  87. typedef pair<ll, ll> pll;
  88. typedef pair<string, string> pss;
  89. typedef pair<string, int> psi;
  90. typedef pair<string, ll> psl;
  91. typedef vector<bool> vb;
  92. typedef vector<int> vi;
  93. typedef vector<ll> vl;
  94. typedef vector<string> vs;
  95. typedef vector<pii> vpii;
  96. typedef vector<pll> vpll;
  97. typedef vector<pss> vpss;
  98. typedef vector<vi> vvi;
  99. typedef vector<vl> vvl;
  100. typedef queue<int> qi;
  101. typedef queue<ll> ql;
  102. typedef queue<pii> qpii;
  103. typedef queue<pll> qpll;
  104. typedef queue<psi> qpsi;
  105. typedef queue<psl> qpsl;
  106. typedef priority_queue<int> pqi;
  107. typedef priority_queue<ll> pql;
  108. typedef priority_queue<string> pqs;
  109. typedef priority_queue<pii> pqpii;
  110. typedef priority_queue<psi> pqpsi;
  111. typedef priority_queue<pll> pqpl;
  112. typedef priority_queue<psi> pqpsl;
  113. typedef map<int, int> mii;
  114. typedef map<int, bool> mib;
  115. typedef map<ll, ll> mll;
  116. typedef map<ll, bool> mlb;
  117. typedef map<char, int> mci;
  118. typedef map<char, ll> mcl;
  119. typedef map<char, bool> mcb;
  120. typedef map<string, int> msi;
  121. typedef map<string, ll> msl;
  122. typedef map<int, bool> mib;
  123. typedef unordered_map<int, int> umii;
  124. typedef unordered_map<ll, ll> uml;
  125. typedef unordered_map<char, int> umci;
  126. typedef unordered_map<char, ll> umcl;
  127. typedef unordered_map<string, int> umsi;
  128. typedef unordered_map<string, ll> umsl;
  129. template <typename T>
  130. inline void read(T &x)
  131. {
  132.     T f = 1;
  133.     x = 0;
  134.     char ch = getchar();
  135.     while (0 == isdigit(ch))
  136.     {
  137.         if (ch == '-')
  138.             f = -1;
  139.         ch = getchar();
  140.     }
  141.     while (0 != isdigit(ch))
  142.         x = (x << 1) + (x << 3) + ch - '0', ch = getchar();
  143.     x *= f;
  144. }
  145. template <typename T>
  146. inline void write(T x)
  147. {
  148.     if (x < 0)
  149.     {
  150.         x = ~(x - 1);
  151.         putchar('-');
  152.     }
  153.     if (x > 9)
  154.         write(x / 10);
  155.     putchar(x % 10 + '0');
  156. }
  157. //vi vec[500010];
  158. int n,f[500010];
  159. int dp[500010],minn[500010];
  160. void solve()
  161. {
  162.         cin>>n;
  163.         for(int i=1;i<=n;i++)
  164.         {
  165.                 cin>>f[i];
  166. //                vec[f[i]].pb(i);
  167.         }
  168.         if(n==1)
  169.         {
  170.                 pr(-1);
  171.                 return;
  172.         }
  173.         for(int i=0;i<=n;i++) dp[i]=minn[i]=10000000;
  174.         minn[f[1]]=0;
  175.         for(int i=2;i<=n;i++)
  176.         {
  177.                 dp[i]=minn[f[i]]+1;
  178.                 minn[f[i]]=min(minn[f[i]],dp[i-1]);
  179. //                cout<<dp[i]<<endl;
  180.         }
  181.         if(dp[n]>=500000) pr(-1);
  182.         else pr(dp[n]);
  183. }
  184. int main()
  185. {
  186.         IOS;
  187.         int _=1;
  188. //        cin>>_;
  189.         while(_--)
  190.         {
  191.                 solve();
  192.         }
  193.         return 0;
  194. }
  195. /*
  196. 1    1  2  1  2
  197. */
复制代码
D.异或炸弹(easy)
 

看了看hard版本,像是二维差分但还得加点东西,他这个外形是菱形而二位差分得是矩形,大概得转一下,不太会 
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <set>
  5. #include <unordered_map>
  6. #include <cstring>
  7. #include <cstdio>
  8. #include <string>
  9. #include <queue>
  10. #include <stack>
  11. #include <map>
  12. #include <list>
  13. #include <bitset>
  14. #include <cmath>
  15. #include <numeric>
  16. //#define endl '\n'
  17. #define fi first
  18. #define se second
  19. #define pf push_front
  20. #define cl clear
  21. #define bg begin
  22. #define ed end
  23. #define sz size
  24. #define fd find
  25. #define is insert
  26. #define pr(x) cout<<x<<'\n'
  27. #define yes cout << "yes\n"
  28. #define no cout << "no\n"
  29. #define Yes cout << "Yes\n"
  30. #define No cout << "No\n"
  31. #define YES cout << "YES\n"
  32. #define NO cout << "NO\n"
  33. #define pb push_back
  34. #define eb emplace_back
  35. #define all(x) x.begin(), x.end()
  36. #define unq_all(x) x.erase(unique(all(x)), x.end())
  37. #define sort_all(x) sort(all(x))
  38. #define reverse_all(x) reverse(all(x))
  39. #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
  40. #define INF 0x7fffffff
  41. #define INFLL 0x7fffffffffffffffLL
  42. #define RED cout << "\033[91m"
  43. #define GREEN cout << "\033[92m"
  44. #define YELLOW cout << "\033[93m"
  45. #define BLUE cout << "\033[94m"
  46. #define MAGENTA cout << "\033[95m"
  47. #define CYAN cout << "\033[96m"
  48. #define RESET cout << "\033[0m"
  49. // 红色
  50. #define DEBUG1(x)                     \
  51.     RED;                              \
  52.     cout << #x << " : " << x << endl; \
  53.     RESET;
  54. // 绿色
  55. #define DEBUG2(x)                     \
  56.     GREEN;                            \
  57.     cout << #x << " : " << x << endl; \
  58.     RESET;
  59. // 蓝色
  60. #define DEBUG3(x)                     \
  61.     BLUE;                             \
  62.     cout << #x << " : " << x << endl; \
  63.     RESET;
  64. // 品红
  65. #define DEBUG4(x)                     \
  66.     MAGENTA;                          \
  67.     cout << #x << " : " << x << endl; \
  68.     RESET;
  69. // 青色
  70. #define DEBUG5(x)                     \
  71.     CYAN;                             \
  72.     cout << #x << " : " << x << endl; \
  73.     RESET;
  74. // 黄色
  75. #define DEBUG6(x)                     \
  76.     YELLOW;                           \
  77.     cout << #x << " : " << x << endl; \
  78.     RESET;
  79. using namespace std;
  80. const double Eps = 1e-8;
  81. const double PI = acos(-1.0);
  82. const int N = 1e6+5;
  83. const int MOD = 1e9+7;
  84. typedef long long ll;
  85. typedef unsigned long long ull;
  86. typedef pair<int, int> pii;
  87. typedef pair<ll, ll> pll;
  88. typedef pair<string, string> pss;
  89. typedef pair<string, int> psi;
  90. typedef pair<string, ll> psl;
  91. typedef vector<bool> vb;
  92. typedef vector<int> vi;
  93. typedef vector<ll> vl;
  94. typedef vector<string> vs;
  95. typedef vector<pii> vpii;
  96. typedef vector<pll> vpll;
  97. typedef vector<pss> vpss;
  98. typedef vector<vi> vvi;
  99. typedef vector<vl> vvl;
  100. typedef queue<int> qi;
  101. typedef queue<ll> ql;
  102. typedef queue<pii> qpii;
  103. typedef queue<pll> qpll;
  104. typedef queue<psi> qpsi;
  105. typedef queue<psl> qpsl;
  106. typedef priority_queue<int> pqi;
  107. typedef priority_queue<ll> pql;
  108. typedef priority_queue<string> pqs;
  109. typedef priority_queue<pii> pqpii;
  110. typedef priority_queue<psi> pqpsi;
  111. typedef priority_queue<pll> pqpl;
  112. typedef priority_queue<psi> pqpsl;
  113. typedef map<int, int> mii;
  114. typedef map<int, bool> mib;
  115. typedef map<ll, ll> mll;
  116. typedef map<ll, bool> mlb;
  117. typedef map<char, int> mci;
  118. typedef map<char, ll> mcl;
  119. typedef map<char, bool> mcb;
  120. typedef map<string, int> msi;
  121. typedef map<string, ll> msl;
  122. typedef map<int, bool> mib;
  123. typedef unordered_map<int, int> umii;
  124. typedef unordered_map<ll, ll> uml;
  125. typedef unordered_map<char, int> umci;
  126. typedef unordered_map<char, ll> umcl;
  127. typedef unordered_map<string, int> umsi;
  128. typedef unordered_map<string, ll> umsl;
  129. template <typename T>
  130. inline void read(T &x)
  131. {
  132.     T f = 1;
  133.     x = 0;
  134.     char ch = getchar();
  135.     while (0 == isdigit(ch))
  136.     {
  137.         if (ch == '-')
  138.             f = -1;
  139.         ch = getchar();
  140.     }
  141.     while (0 != isdigit(ch))
  142.         x = (x << 1) + (x << 3) + ch - '0', ch = getchar();
  143.     x *= f;
  144. }
  145. template <typename T>
  146. inline void write(T x)
  147. {
  148.     if (x < 0)
  149.     {
  150.         x = ~(x - 1);
  151.         putchar('-');
  152.     }
  153.     if (x > 9)
  154.         write(x / 10);
  155.     putchar(x % 10 + '0');
  156. }
  157. int n,m,f[3010][3010];
  158. int x,y,r,cnt;
  159. void solve()
  160. {
  161.         cin>>n>>m;
  162.         for(int i=1;i<=m;i++)
  163.         {
  164. //                cin>>p[i].fi>>p[i].se;
  165.                 cin>>x>>y>>r;
  166.                 for(int j=max(x-r,1);j<=min(x+r,n);j++)
  167.                 {
  168.                         int l=r-abs(j-x);
  169.                         f[j][max(1,y-l)]++;
  170.                         f[j][min(n+1,y+l+1)]--;
  171.                 }
  172.         }
  173.         for(int i=1;i<=n;i++)
  174.         {
  175.                 int p=0;
  176.                 for(int j=1;j<=n;j++)
  177.                 {
  178.                         p+=f[i][j];
  179.                         if(p&1) cnt++;
  180.                 }
  181.         }
  182.         pr(cnt);
  183. }
  184. int main()
  185. {
  186.         IOS;
  187.         int _=1;
  188. //        cin>>_;
  189.         while(_--)
  190.         {
  191.                 solve();
  192.         }
  193.         return 0;
  194. }
复制代码
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

愛在花開的季節

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表